﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыПогашенияСтоимости
	{
		////////////////////////////////////////////////////////////////////////////////
		// ФУНКЦИИ ФОРМИРОВАНИЯ ЗАПРОСОВ ПО МАТЕРИАЛАМ В ЭКСПЛУАТАЦИИ
		// Функция формирует текст запроса по партиям материалов в эксплуатации.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоПартиямМатериаловВЭксплуатацииРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	РегистрАналитикаВидаУчета.Ссылка
	|
	|ПОМЕСТИТЬ ТаблицаАналитикиВидаУчета
	|ИЗ
	|	РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|ГДЕ
	|	РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МатериалыВЭксплуатации)
	|	//ДляУпрУчета И РегистрАналитикаВидаУчета.СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
	|	//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат
	|	
	|ПОМЕСТИТЬ СписанныеМатериалы
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|		
	|ГДЕ
	|	УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И УчетЗатрат.Активность
	|	И УчетЗатрат.КодОперации В (&МассивКодовОпераций)
	|	И УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
	|	И АналитикаВидаУчета В (
	|		ВЫБРАТЬ
	|			Ссылка
	|		ИЗ
	|			ТаблицаАналитикиВидаУчета
	|		)
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	
	|	СУММА(УчетЗатрат.СтоимостьОстаток) КАК ПогашеннаяСтоимость
	|
	|ПОМЕСТИТЬ ТаблицаПогашеннойСтоимости
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.Остатки(&КонГраница, 
	|		АналитикаВидаУчета В (
	|			ВЫБРАТЬ
	|				РегистрАналитикаВидаУчета.Ссылка
	|			ИЗ
	|				РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|			ГДЕ
	|				РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ПогашеннаяСтоимость)
	|				//ДляУпрУчета И РегистрАналитикаВидаУчета.СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
	|				//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|			)
	|
	|	) КАК УчетЗатрат
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО
	|		УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат
	|	
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	
	|	РегистрАналитикаУчетаПартий.ФизЛицо,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи.Дата КАК ДокументПередачиДата,
	|
	|	ТаблицаПогашеннойСтоимости.АналитикаВидаУчета КАК АналитикаВидаУчетаПогашеннаяСтоимость,
	|
	|	//ДляРеглУчета (УчетЗатрат.ПостояннаяРазницаНачальныйОстаток + УчетЗатрат.ПостояннаяРазницаПриход) КАК ПостояннаяРазницаОстаток,
	|	//ДляРеглУчета 0 КАК ВременнаяРазницаОстаток,
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьПРОстаток,
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьВРОстаток,
	|
	|	(УчетЗатрат.КоличествоНачальныйОстаток + УчетЗатрат.КоличествоПриход) КАК КоличествоОстаток,
	|	(УчетЗатрат.СтоимостьНачальныйОстаток + УчетЗатрат.СтоимостьПриход) КАК СтоимостьОстаток,
	|	ЕСТЬNULL(ТаблицаПогашеннойСтоимости.ПогашеннаяСтоимость, 0) КАК ПогашеннаяСтоимостьОстаток
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.ОстаткиИОбороты(&НачГраница, &КонГраница, Период, , 
	|		(АналитикаВидаУчета, АналитикаУчетаЗатрат) В (
	|			ВЫБРАТЬ
	|				АналитикаВидаУчета,
	|				АналитикаУчетаЗатрат
	|			ИЗ
	|				СписанныеМатериалы
	|			)
	|
	|	) КАК УчетЗатрат
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО
	|		УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		ТаблицаПогашеннойСтоимости
	|	ПО
	|		РегистрАналитикаВидаУчета.Организация = ТаблицаПогашеннойСтоимости.Организация
	|		И РегистрАналитикаВидаУчета.Подразделение = ТаблицаПогашеннойСтоимости.Подразделение
	|		И РегистрАналитикаВидаУчета.ПодразделениеОрганизации = ТаблицаПогашеннойСтоимости.ПодразделениеОрганизации
	|		И РегистрАналитикаВидаУчета.СчетУчета = ТаблицаПогашеннойСтоимости.СчетУчета
	|		И РегистрАналитикаВидаУчета.СчетУчетаНУ = ТаблицаПогашеннойСтоимости.СчетУчетаНУ
	|		И УчетЗатрат.АналитикаУчетаЗатрат = ТаблицаПогашеннойСтоимости.АналитикаУчетаЗатрат
	|		И УчетЗатрат.АналитикаУчетаПартий = ТаблицаПогашеннойСтоимости.АналитикаУчетаПартий
	|		И УчетЗатрат.АналитикаРаспределенияЗатрат = ТаблицаПогашеннойСтоимости.АналитикаРаспределенияЗатрат
	|		
	|ГДЕ
	|	(УчетЗатрат.КоличествоНачальныйОстаток + УчетЗатрат.КоличествоПриход) > 0
	|	И (РегистрАналитикаУчетаПартий.ДокументПередачи <> ЗНАЧЕНИЕ(Документ.ПередачаМатериаловВЭксплуатацию.ПустаяСсылка)
	|		И РегистрАналитикаУчетаПартий.ДокументПередачи <> Неопределено)
	|
	|УПОРЯДОЧИТЬ ПО
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	РегистрАналитикаУчетаПартий.ФизЛицо,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи.Дата,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат
    |
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоПартиямМатериаловВЭксплуатацииРасширеннаяАналитика()
		// Функция формирует текст запроса по партиям материалов в эксплуатации.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоПартиямМатериаловВЭксплуатации(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	//ДляУпрУчета СписанныеМатериалы.Подразделение,
	|	//ДляРеглУчета СписанныеМатериалы.ПодразделениеОрганизации КАК Подразделение,
	|	//ДляБухУчета СписанныеМатериалы.СчетУчетаБУ КАК СчетУчета,
	|	//ДляНалУчета СписанныеМатериалы.СчетУчетаНУ КАК СчетУчета,
	|	
	|	СписанныеМатериалы.Номенклатура,
	|	СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|	СписанныеМатериалы.СерияНоменклатуры,
	|	СписанныеМатериалы.ФизЛицо,
	|	СписанныеМатериалы.НазначениеИспользования
	|	
	|ПОМЕСТИТЬ СписанныеМатериалы
	|ИЗ
	|	РегистрСведений.СписанныеМатериалыИзЭксплуатации КАК СписанныеМатериалы
	|ГДЕ
	|	СписанныеМатериалы.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляРеглУчета И СписанныеМатериалы.Организация = &Организация
	|	//ДляУпрУчета И СписанныеМатериалы.ОтражатьВУправленческомУчете
	|	//ДляБухУчета И СписанныеМатериалы.ОтражатьВБухгалтерскомУчете
	|	//ДляНалУчета И СписанныеМатериалы.ОтражатьВНалоговомУчете
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|	
	|ВЫБРАТЬ
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляУпрУчета Неопределено КАК СчетУчета,
	|	//ДляРеглУчета ПартииМатериалов.СчетУчета,
	|	ПартииМатериалов.Подразделение,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи,
	|	ПартииМатериалов.ДокументПередачи.Дата КАК ДокументПередачиДата,
	|
	|   //ДляНалУчета ПартииМатериалов.ПостояннаяРазницаОстаток,
	|   //ДляНалУчета ПартииМатериалов.ВременнаяРазницаОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьПРОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьВРОстаток,
	|
	|	ПартииМатериалов.КоличествоОстаток,
	|	ПартииМатериалов.СтоимостьОстаток,
	|	//ДляУпрУчета ПартииМатериалов.ПогашеннаяСтоимостьОстаток
	|	//ДляБухУчета ПартииМатериалов.ПогашеннаяСтоимостьОстаток
	|	//ДляНалУчета 0 КАК ПогашеннаяСтоимостьОстаток
	|
	|ИЗ
	|	РегистрНакопления.ПартииМатериаловВЭксплуатации%СуффиксУчета%.Остатки(&КонГраница, 
	|		(	
	|		Подразделение,
	|		//ДляРеглУчета СчетУчета,
	|		Номенклатура,
	|		ХарактеристикаНоменклатуры,
	|		СерияНоменклатуры,
	|		ФизЛицо,
	|		НазначениеИспользования
	|		) В (
	|			ВЫБРАТЬ
	|				*
	|			ИЗ
	|				СписанныеМатериалы
	|			)
	|		//ДляРеглУчета И Организация = &Организация
	|	) КАК ПартииМатериалов
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ПартииМатериалов.СчетУчета,
	|	ПартииМатериалов.Подразделение,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи.Дата,
	|	ПартииМатериалов.ДокументПередачи
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ СписанныеМатериалы
	|
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоПартиямМатериаловВЭксплуатации()
		// Функция формирует таблицу значений по остаткам материалов в эксплуатации.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//
		// Возвращаемое значение:
		//	ТаблицаЗначний - Таблица остатков материалов в эксплуатации
		//

		public object СформироватьТаблицуОстатковМатериаловВЭксплуатации(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	МенеджерВременныхТаблиц
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоПартиямМатериаловВЭксплуатацииРасширеннаяАналитика();
			}
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.НачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.КонДата);
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.НачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.КонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивКодовОпераций = Новый Массив;
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатацииФикс);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатацииФикс);
			//Запрос.УстановитьПараметр("МассивКодовОпераций", МассивКодовОпераций);
			//РезультатЗапроса = Запрос.Выполнить();
			//ТаблицаОстатков = РезультатЗапроса.Выгрузить();
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				/*ТаблицаОстатков.Индексы.Добавить("
			|АналитикаВидаУчета,
			|АналитикаУчетаЗатрат,
			|ФизЛицо,
			|НазначениеИспользования
			|");*/
			}
			return null;
		}
		// СформироватьТаблицуОстатковМатериаловВЭксплуатации()
		// Функция формирует текст запроса по списанным материалам.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоСписаннымМатериаламРасширеннаяАналитика(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат,
	|	УчетЗатрат.КорАналитикаУчетаПартий,
	|	УчетЗатрат.КорАналитикаРаспределенияЗатрат,
	|
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрКорАналитикаВидаУчета.Подразделение КАК ПодразделениеПолучатель,
	|
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации КАК Подразделение,
	|
	|	// Аналитика для формирования проводок.
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчета КАК СчетУчетаБУ,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.Склад,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.Склад КАК СкладПолучатель,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации,
	|	//ДляРеглУчета ЕСТЬNULL(РегистрКорАналитикаВидаУчета.СчетУчета, РегистрКорАналитикаУчетаПрочихЗатрат.СчетУчета) КАК СчетЗатрат,
	|	//ДляРеглУчета ЕСТЬNULL(РегистрКорАналитикаВидаУчета.СчетУчетаНУ, РегистрКорАналитикаУчетаПрочихЗатрат.СчетУчетаНУ) КАК СчетЗатратНУ,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаЗатрат.СтатьяЗатрат,
	|	//ДляРеглУчета РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто1,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто2,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто3,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ1,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ2,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ3,
	|	Неопределено КАК ОбъектСтроительства,
	|	Неопределено КАК СпособСтроительства,
	|
	|	РегистрАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
	|	РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты КАК ХарактеристикаНоменклатуры,
	|	РегистрАналитикаУчетаЗатрат.СерияЗатраты КАК СерияНоменклатуры,
	|
	|	РегистрАналитикаУчетаПартий.ФизЛицо,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов КАК СпособОтраженияРасходов,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи,
	|	ВЫБОР КОГДА РегистрАналитикаУчетаПартий.ДокументПередачи = ЗНАЧЕНИЕ(Документ.ПередачаМатериаловВЭксплуатацию.ПустаяСсылка) ТОГДА
	|		Ложь
	|	ИНАЧЕ
	|		Истина
	|	КОНЕЦ КАК ЗаполненДокументПередачи,
	|
	|	ЕСТЬNULL(РегистрКорАналитикаУчетаПартий.ФизЛицо, Неопределено) КАК ФизЛицоПолучатель,
	|	ЕСТЬNULL(РегистрКорАналитикаУчетаПартий.НазначениеИспользования, Неопределено) КАК НазначениеИспользованияПолучатель,
	|	
	|	УчетЗатрат.КодОперации КАК КодОперации,
	|
	|	СУММА(
	|		ВЫБОР КОГДА УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) ТОГДА
	|			УчетЗатрат.Стоимость
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК Стоимость,
	|	СУММА(
	|		ВЫБОР КОГДА УчетЗатрат.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) ТОГДА
	|			УчетЗатрат.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ
	|	) КАК Количество
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл% КАК УчетЗатрат
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО
	|		УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|	ПО
	|		УчетЗатрат.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|	
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО
	|		УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрКорАналитикаВидаУчета
	|	ПО
	|		УчетЗатрат.КорАналитикаВидаУчета = РегистрКорАналитикаВидаУчета.Ссылка
	|	
	|	//ДляРеглУчета ЛЕВОЕ СОЕДИНЕНИЕ
	|	//ДляРеглУчета 	РегистрСведений.АналитикаУчетаПрочихЗатрат КАК РегистрКорАналитикаУчетаПрочихЗатрат
	|	//ДляРеглУчета ПО
	|	//ДляРеглУчета 	УчетЗатрат.КорАналитикаВидаУчета = РегистрКорАналитикаУчетаПрочихЗатрат.Ссылка
	|	
	|	//ДляРеглУчета ЛЕВОЕ СОЕДИНЕНИЕ
	|	//ДляРеглУчета 	РегистрСведений.АналитикаУчетаЗатрат КАК РегистрКорАналитикаУчетаЗатрат
	|	//ДляРеглУчета ПО
	|	//ДляРеглУчета 	УчетЗатрат.КорАналитикаУчетаЗатрат = РегистрКорАналитикаУчетаЗатрат.Ссылка
	|	
	|	//ДляРеглУчета ЛЕВОЕ СОЕДИНЕНИЕ
	|	//ДляРеглУчета 	РегистрСведений.АналитикаРаспределенияЗатрат КАК РегистрКорАналитикаРаспределенияЗатрат
	|	//ДляРеглУчета ПО
	|	//ДляРеглУчета 	УчетЗатрат.КорАналитикаРаспределенияЗатрат = РегистрКорАналитикаРаспределенияЗатрат.Ссылка
	|	
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрКорАналитикаУчетаПартий
	|	ПО
	|		УчетЗатрат.КорАналитикаУчетаПартий = РегистрКорАналитикаУчетаПартий.Ссылка
	|	
	|ГДЕ
	|	УчетЗатрат.Период МЕЖДУ &НачДата И &КонДата
	|	И УчетЗатрат.Активность
	|	И (
	|		АналитикаВидаУчета, 
	|		АналитикаУчетаЗатрат
	|	) В (
	|		ВЫБРАТЬ
	|			АналитикаВидаУчета,
	|			АналитикаУчетаЗатрат
	|		ИЗ
	|			СписанныеМатериалы
	|		)
	|	И УчетЗатрат.КодОперации В (&МассивКодовОпераций)
	|
	|СГРУППИРОВАТЬ ПО
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат,
	|	УчетЗатрат.КорАналитикаУчетаПартий,
	|	УчетЗатрат.КорАналитикаРаспределенияЗатрат,
	|
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрКорАналитикаВидаУчета.Подразделение,
	|	//ДляУпрУчета РегистрАналитикаВидаУчета.Подразделение,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаУчетаЗатрат.Затрата,
	|	РегистрАналитикаУчетаЗатрат.ХарактеристикаЗатраты,
	|	РегистрАналитикаУчетаЗатрат.СерияЗатраты,
	|	РегистрАналитикаУчетаПартий.ФизЛицо,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрАналитикаУчетаПартий.ДокументПередачи,
	|	РегистрКорАналитикаУчетаПартий.ФизЛицо,
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчета,
	|	//ДляРеглУчета РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.Склад,
	|	//ДляРеглУчета РегистрКорАналитикаВидаУчета.ПодразделениеОрганизации,
	|	//ДляРеглУчета ЕСТЬNULL(РегистрКорАналитикаВидаУчета.СчетУчета, РегистрКорАналитикаУчетаПрочихЗатрат.СчетУчета),
	|	//ДляРеглУчета ЕСТЬNULL(РегистрКорАналитикаВидаУчета.СчетУчетаНУ, РегистрКорАналитикаУчетаПрочихЗатрат.СчетУчетаНУ),
	|	//ДляРеглУчета РегистрКорАналитикаУчетаЗатрат.СтатьяЗатрат,
	|	//ДляРеглУчета РегистрКорАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто1,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто2,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.Субконто3,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ1,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ2,
	|	//ДляРеглУчета РегистрКорАналитикаУчетаПрочихЗатрат.СубконтоНУ3,
	|	УчетЗатрат.КодОперации
	|	
	|УПОРЯДОЧИТЬ ПО
	|	ЗаполненДокументПередачи УБЫВ,
	|	УчетЗатрат.АналитикаВидаУчета,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|
	|	УчетЗатрат.КорАналитикаВидаУчета,
	|	УчетЗатрат.КорАналитикаУчетаЗатрат,
	|	УчетЗатрат.КорАналитикаУчетаПартий,
	|	УчетЗатрат.КорАналитикаРаспределенияЗатрат
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСписаннымМатериаламРасширеннаяАналитика()
		// Функция формирует текст запроса по списанным материалам.
		//
		// Возвращаемое значение:
		//	Строка - Текст запроса
		//

		public object СформироватьТекстЗапросаПоСписаннымМатериалам(/**/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета СписанныеМатериалы.Организация,
	|	//ДляУпрУчета СписанныеМатериалы.Подразделение,
	|	//ДляРеглУчета СписанныеМатериалы.ПодразделениеОрганизации КАК Подразделение,
	|	//ДляРеглУчета СписанныеМатериалы.ПодразделениеОрганизации,
	|
	|	//ДляУпрУчета Неопределено КАК СчетУчета,
	|	//ДляБухУчета СписанныеМатериалы.СчетУчетаБУ КАК СчетУчета,
	|	//ДляНалУчета СписанныеМатериалы.СчетУчетаНУ КАК СчетУчета,
	|
	|	//ДляБухУчета СписанныеМатериалы.СчетУчетаБУ,
	|	//ДляНалУчета СписанныеМатериалы.СчетУчетаНУ,
	|
	|	СписанныеМатериалы.Номенклатура,
	|	СписанныеМатериалы.Номенклатура.ВестиПартионныйУчетПоСериям КАК ВестиПартионныйУчетПоСериям,
	|	СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|	СписанныеМатериалы.СерияНоменклатуры,
	|	СписанныеМатериалы.ФизЛицо,
	|	СписанныеМатериалы.НазначениеИспользования,
	|	СписанныеМатериалы.НазначениеИспользования.СпособОтраженияРасходов как СпособОтраженияРасходов,
	|
	|	СписанныеМатериалы.ДокументПередачи,
	|	СписанныеМатериалы.КодОперации,
	|
	|	СписанныеМатериалы.СпособСписанияРасходов,
	|	СписанныеМатериалы.СтатьяЗатрат,
	|	СписанныеМатериалы.НоменклатурнаяГруппа,
	|	СписанныеМатериалы.ТипСтоимости,
	|	СписанныеМатериалы.Склад КАК СкладПолучатель,
	|	СписанныеМатериалы.Качество,
	|
	|	Неопределено КАК СтатусМатериальныхЗатрат,
	|	ЗНАЧЕНИЕ(Перечисление.СтатусыПартийТоваров.Купленный) КАК СтатусПартии,
	|	Неопределено КАК ВидОперации,
	|	Ложь КАК ОбособленныйУчетТоваровПоЗаказамПокупателей,
	|	Неопределено КАК ЗаказРезерв,
	|
	|	СписанныеМатериалы.Регистратор КАК ДокументВыпуска,
	|	СписанныеМатериалы.Регистратор КАК ДокументДвижения,
	|	СписанныеМатериалы.Регистратор.Дата КАК ДокументДвиженияПериод,
	|	СписанныеМатериалы.НомерСтроки,
	|
	|	//ДляБухУчета СписанныеМатериалы.СчетДт,
	|	//ДляБухУчета СписанныеМатериалы.СубконтоДт1,
	|	//ДляБухУчета СписанныеМатериалы.СубконтоДт2,
	|	//ДляБухУчета СписанныеМатериалы.СубконтоДт3,
	|	//ДляБухУчета СписанныеМатериалы.СчетДт КАК СчетЗатрат,
	|
	|	//ДляНалУчета СписанныеМатериалы.СчетДтНУ,
	|	//ДляНалУчета СписанныеМатериалы.СчетДтНУ КАК СчетДт,
	|	//ДляНалУчета СписанныеМатериалы.СубконтоДтНУ1 КАК СубконтоДт1,
	|	//ДляНалУчета СписанныеМатериалы.СубконтоДтНУ2 КАК СубконтоДт2,
	|	//ДляНалУчета СписанныеМатериалы.СубконтоДтНУ3 КАК СубконтоДт3,
	|	//ДляНалУчета СписанныеМатериалы.СчетДтНУ КАК СчетЗатратНУ,
	|
	|	СписанныеМатериалы.ФизЛицоПолучатель,
	|	СписанныеМатериалы.НазначениеИспользованияПолучатель,
	|	//ДляУпрУчета СписанныеМатериалы.ПодразделениеПолучатель,
	|	//ДляРеглУчета СписанныеМатериалы.ПодразделениеОрганизацииПолучатель,
	|	//ДляБухУчета СписанныеМатериалы.СчетУчетаПолучательБУ,
	|	//ДляНалУчета СписанныеМатериалы.СчетУчетаПолучательНУ,
	|
	|	//ДляУпрУчета СписанныеМатериалы.Стоимость,
	|	//ДляРеглУчета СписанныеМатериалы.СтоимостьРегл КАК Стоимость,
	|	СписанныеМатериалы.Количество
	|
	|ИЗ
	|	РегистрСведений.СписанныеМатериалыИзЭксплуатации КАК СписанныеМатериалы
	|	
	|ГДЕ
	|	СписанныеМатериалы.Период МЕЖДУ &НачДата И &КонДата
	|	//ДляУпрУчета И СписанныеМатериалы.ОтражатьВУправленческомУчете
	|	//ДляБухУчета И СписанныеМатериалы.ОтражатьВБухгалтерскомУчете
	|	//ДляНалУчета И СписанныеМатериалы.ОтражатьВНалоговомУчете
	|	//ДляРеглУчета И СписанныеМатериалы.Организация = &Организация
	|	
	|УПОРЯДОЧИТЬ ПО
	|	СписанныеМатериалы.Регистратор.Дата,
	|	СписанныеМатериалы.Регистратор,
	|	СписанныеМатериалы.НомерСтроки,
	|
	|	//ДляУпрУчета СписанныеМатериалы.Подразделение,
	|	//ДляРеглУчета СписанныеМатериалы.ПодразделениеОрганизации,
	|	//ДляБухУчета СписанныеМатериалы.СчетУчетаБУ,
	|	//ДляНалУчета СписанныеМатериалы.СчетУчетаНУ,
	|
	|	СписанныеМатериалы.Номенклатура,
	|	СписанныеМатериалы.ХарактеристикаНоменклатуры,
	|	СписанныеМатериалы.СерияНоменклатуры,
	|	СписанныеМатериалы.ФизЛицо,
	|	СписанныеМатериалы.НазначениеИспользования,
	|	СписанныеМатериалы.ДокументПередачи
	|";*/
			return null;
		}
		// СформироватьТекстЗапросаПоСписаннымМатериалам()
		// Функция формирует запрос по списанным материалам.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	МенеджерВременныхТаблиц - МенеджерВременныхТаблиц - Менеджер временных таблиц
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по списанным материалам
		//

		public object СформироватьЗапросПоСписаннымМатериалам(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	МенеджерВременныхТаблиц
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//ТекстЗапросаСКомментариями = СформироватьТекстЗапросаПоСписаннымМатериаламРасширеннаяАналитика();
			}
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.НачДата);
			//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.КонДата);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.КонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			//МассивКодовОпераций = Новый Массив;
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатацииФикс);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатацииФикс);
			//Запрос.УстановитьПараметр("МассивКодовОпераций", МассивКодовОпераций);
			return null;
		}
		// СформироватьЗапросПоСписаннымМатериалам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО ОПЕРАЦИЯМ С МАТЕРИАЛАМИ В ЭКСПЛУАТАЦИИ
		// Процедура добавляет количество перемещаемых материалов в таблицу остатков.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	СтруктураАналитики - Структура - Аналитика учета материалов в эксплуатации
		//	ДокументПередачи - ДокументСсылка.ПередачаМатериаловВЭксплуатацию - Документ передачи
		//	Количество - Число - Количество материалов
		//  Стоимость - Число - Сумма материалов
		//  ПогашеннаяСтоимость - Число - Сумма погашенной стоимости
		//  ПостояннаяРазница - Число - Сумма постоянной разницы
		//  ВременнаяРазница - Число - Сумма временной разницы
		//  ПогашеннаяСтоимостьПР - Число - Сумма погашенной стоимости в части постоянной разницы
		//  ПогашеннаяСтоимостьВР - Число - Сумма погашенной стоимости в части временной разницы
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаОстатков - ТаблицаЗначений - Таблица остатков материалов в эксплуатации
		//

		public void ДобавитьКоличествоВТаблицуОстатков(/*
	СтруктураШапкиДокумента,
	СтруктураАналитики,
	ДокументПередачи,
	Количество,
	Стоимость,
	ПогашеннаяСтоимость,
	ПостояннаяРазница,
	ВременнаяРазница,
	ПогашеннаяСтоимостьПР,
	ПогашеннаяСтоимостьВР,
	ВидОтраженияВУчете,
	ТаблицаОстатков
	*/)
		{
			/*СтруктураПоиска = ПолучитьСтруктуруОтбораОстатков(
		СтруктураШапкиДокумента,
		СтруктураАналитики
	);*/
			//МассивСтрок = ТаблицаОстатков.НайтиСтроки(СтруктураПоиска);
			if(true/*МассивСтрок.Количество() > 0*/)
			{
				//СтрокаТаблицы = МассивСтрок[0];
				//СтрокаТаблицы.КоличествоОстаток = СтрокаТаблицы.КоличествоОстаток + Количество;
				//СтрокаТаблицы.СтоимостьОстаток = СтрокаТаблицы.СтоимостьОстаток + Стоимость;
				//СтрокаТаблицы.ПогашеннаяСтоимостьОстаток = СтрокаТаблицы.ПогашеннаяСтоимостьОстаток + ПогашеннаяСтоимость;
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
				{
					//СтрокаТаблицы.ПостояннаяРазницаОстаток = СтрокаТаблицы.ПостояннаяРазницаОстаток + ПостояннаяРазница;
					//СтрокаТаблицы.ВременнаяРазницаОстаток = СтрокаТаблицы.ВременнаяРазницаОстаток + ВременнаяРазница;
					//СтрокаТаблицы.ПогашеннаяСтоимостьПРОстаток = СтрокаТаблицы.ПогашеннаяСтоимостьПРОстаток + ПогашеннаяСтоимостьПР;
					//СтрокаТаблицы.ПогашеннаяСтоимостьВРОстаток = СтрокаТаблицы.ПогашеннаяСтоимостьВРОстаток + ПогашеннаяСтоимостьВР;
				}
			}
		}
		// ДобавитьСтрокуВТаблицуОстатков()
		// Процедура формирует движения в зависимости от направления списания материалов из эксплуатации.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки
		//	ДокументПередачи - ДокументСсылка.ПередачаМатериаловВЭксплуатацию - Документ передачи
		//	ДокументПередачиДата - Дата - Дата документа передачи
		//	Количество - Число - Количество материалов
		//  Стоимость - Число - Сумма материалов
		//  ПогашеннаяСтоимость - Число - Сумма погашенной стоимости
		//  ПостояннаяРазница - Число - Сумма постоянной разницы
		//  ВременнаяРазница - Число - Сумма временной разницы
		//  ПогашеннаяСтоимостьПР - Число - Сумма погашенной стоимости в части постоянной разницы
		//  ПогашеннаяСтоимостьВР - Число - Сумма погашенной стоимости в части временной разницы
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаОстатков - ТаблицаЗначений - Таблица остатков материалов в эксплуатации
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица сумм погашенной стоимости
		//	ТаблицаТоваров - ТаблицаЗначений - Таблица номенклатуры для передачи в модуль партионного учета.
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей
		//

		public void СформироватьДвиженияПоНаправлениямСписания(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ДокументПередачи,
	ДокументПередачиДата,
	Количество,
	Стоимость,
	ПогашеннаяСтоимость,
	ПостояннаяРазница,
	ВременнаяРазница,
	ПогашеннаяСтоимостьПР,
	ПогашеннаяСтоимостьВР,
	ВидОтраженияВУчете,
	ТаблицаОстатков,
	ТаблицаПогашеннойСтоимости,
	ТаблицаТоваров,
	ТаблицаОшибок,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатации*/)
			{
				//СуффиксИмениРегистра = СтруктураШапкиДокумента.СуффиксыИмениРегистра[ВидОтраженияВУчете];
				//ИмяРегистра = "ПартииМатериаловВЭксплуатации" + СуффиксИмениРегистра;
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				//СтруктураАналитики = Новый Структура;
				//СтруктураАналитики.Вставить("ФизЛицо", СтрокаВыборки.ФизЛицоПолучатель);
				//СтруктураАналитики.Вставить("НазначениеИспользования", СтрокаВыборки.НазначениеИспользованияПолучатель);
				//СтруктураАналитики.Вставить("ДокументПередачи", ДокументПередачи);
				//СтруктураАналитики.Вставить("ДокументПередачиДата", ДокументПередачиДата);
				//СтруктураАналитики.Вставить("Номенклатура", СтрокаВыборки.Номенклатура);
				//СтруктураАналитики.Вставить("ХарактеристикаНоменклатуры", СтрокаВыборки.ХарактеристикаНоменклатуры);
				//СтруктураАналитики.Вставить("СерияНоменклатуры", СтрокаВыборки.СерияНоменклатуры);
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
				{
					//СтруктураАналитики.Вставить("СчетУчета");
					//СтруктураАналитики.Вставить("Подразделение", СтрокаВыборки.ПодразделениеПолучатель);
				}
				/*СформироватьДвиженияПоРегиструПартииМатериаловВЭксплуатации(
			СтруктураШапкиДокумента,
			СтруктураАналитики,
			ДокументПередачи,
			Количество,
			Стоимость,
			ПогашеннаяСтоимость,
			ПостояннаяРазница,
			ВременнаяРазница,
			ПогашеннаяСтоимостьПР,
			ПогашеннаяСтоимостьВР,
			ВидДвиженияНакопления.Приход,
			СтрокаВыборки.КодОперации,
			ВидОтраженияВУчете,
			СтруктураНаборыЗаписей[ИмяРегистра]
		);*/
				/*ДобавитьКоличествоВТаблицуОстатков(
			СтруктураШапкиДокумента,
			СтруктураАналитики,
			ДокументПередачи,
			Количество,
			Стоимость,
			ПогашеннаяСтоимость,
			ПостояннаяРазница,
			ВременнаяРазница,
			ПогашеннаяСтоимостьПР,
			ПогашеннаяСтоимостьВР,
			ВидОтраженияВУчете,
			ТаблицаОстатков
		);*/
			}
		}
		// СформироватьДвиженияПоНаправлениямСписания()
		// Функция получает структуру для отбора строк таблицы остатков.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//
		// Возвращаемое значение:
		//	Структура - Структура для отбора остатков
		//

		public object ПолучитьСтруктуруОтбораОстатков(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки
	*/)
		{
			//СтруктураПоиска = Новый Структура;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//СтруктураПоиска.Вставить("АналитикаВидаУчета", СтрокаВыборки.АналитикаВидаУчета);
				//СтруктураПоиска.Вставить("АналитикаУчетаЗатрат", СтрокаВыборки.АналитикаУчетаЗатрат);
			}
			//СтруктураПоиска.Вставить("ФизЛицо", СтрокаВыборки.ФизЛицо);
			//СтруктураПоиска.Вставить("НазначениеИспользования", СтрокаВыборки.НазначениеИспользования);
			if(true/*ЗначениеЗаполнено(СтрокаВыборки.ДокументПередачи)*/)
			{
				//СтруктураПоиска.Вставить("ДокументПередачи", СтрокаВыборки.ДокументПередачи);
			}
			return null;
		}
		// ПолучитьСтруктуруОтбораОстатков()
		// Процедура выводит сообщение об нулевой сумме коэффициентов.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	Количество - Число - Количество списываемого материала
		//	КоличествоРаспределено - Остаток материала
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//

		public void ВывестиСообщениеОПревышенииКоличества(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Количество,
	КоличествоРаспределено,
	ВидОтраженияВУчете,
	ТаблицаОшибок
	*/)
		{
			if(true/*СтрокаВыборки.КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатации
	 ИЛИ СтрокаВыборки.КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс*/)
			{
				//ТекстОперация = ", списываемое из эксплуатации,";
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
			{
				//ТекстУчета = "упр. учету";
			}
			//СтрокаГруппы = "Количество по " + ТекстУчета + ТекстОперация + " превышает остаток:";
			/*ТекстСообщения = "
		|Подразделение: " + Строка(СтрокаВыборки.Подразделение) + "
		|Номенклатура: " + Строка(СтрокаВыборки.Номенклатура) + ", " + Строка(СтрокаВыборки.ХарактеристикаНоменклатуры) + ", " + Строка(СтрокаВыборки.СерияНоменклатуры) + "
		|Назначение использования: " + Строка(СтрокаВыборки.НазначениеИспользования) + "
		|Работник: " + Строка(СтрокаВыборки.ФизЛицо) + "
		|Количество списания: " + Строка(Количество) + ", остаток в эксплуатации: " + Строка(КоличествоРаспределено) + "
		|";*/
			//НоваяСтрока = ТаблицаОшибок.Добавить();
			//НоваяСтрока.Группа = СтрокаГруппы;
			//НоваяСтрока.Сообщение = ТекстСообщения;
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//НоваяСтрока.Объект = УправлениеЗатратами.СформироватьРасшифровкуОткрытияОтчета("ВедомостьПоУчетуМПЗ");
			}
		}
		// ВывестиСообщениеОПревышенииКоличества()
		// Процедура производит расчет суммы операции (списания, возврата, корректировки) по спецодежде.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//	ТаблицаОстатков - ТаблицЗначений - Таблица остатков партий материалов в эксплуатации
		//	РезультатЗапроса - РезультатЗапроса - Результат запроса по списанным материалам
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица сумм погашенной стоимости
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//	ТаблицаТоваров - ТаблицаЗначений - Таблица номенклатуры для передачи в модуль партионного учета.
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей
		//

		public void РассчитатьСуммуСписанияИзЭксплуатации(/*
	СтруктураШапкиДокумента,
	ТаблицаОстатков,
	РезультатЗапроса,
	ВидОтраженияВУчете,
	ТаблицаПогашеннойСтоимости,
	ТаблицаОшибок,
	ТаблицаТоваров,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//СуффиксИмениРегистра = СтруктураШапкиДокумента.СуффиксыИмениРегистра[ВидОтраженияВУчете];
				//ИмяРегистра = "ПартииМатериаловВЭксплуатации" + СуффиксИмениРегистра;
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
			}
			//СтруктураКлючиАналитики = Новый Структура;
			//Выборка = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				/*СтруктураПоиска = ПолучитьСтруктуруОтбораОстатков(
			СтруктураШапкиДокумента,
			Выборка
		);*/
				//МассивСтрок = ТаблицаОстатков.НайтиСтроки(СтруктураПоиска);
				//СписатьКоличество = Выборка.Количество;
				//КоличествоРаспределено = 0;
				if(true/*Выборка.Количество <> КоличествоРаспределено*/)
				{
					/*ВывестиСообщениеОПревышенииКоличества(
				СтруктураШапкиДокумента,
				Выборка,
				Выборка.Количество,
				КоличествоРаспределено,
				ВидОтраженияВУчете,
				ТаблицаОшибок
			);*/
				}
			}
			//;;
		}
		// РассчитатьСуммуСписанияИзЭксплуатации()
		// Процедура формирует движения по операциям списания, возврата и корректировки материалов в эксплуатации.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//

		public void СформироватьДвиженияПоМатериаламВЭксплуатации(/*
	СтруктураШапкиДокумента,
	ТаблицаОшибок
	*/)
		{
			//СтруктураНаборыЗаписей = Новый Структура;
			//ТаблицаТоваров = Новый ТаблицаЗначений;
			//ТаблицаТоваров.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//ТаблицаТоваров.Колонки.Добавить("ДокументОприходования");
			//ТаблицаТоваров.Колонки.Добавить("СчетУчета");
			//ТаблицаПогашеннойСтоимости = СформироватьТаблицуПогашеннойСтоимости();
			/*РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов(
		СтруктураШапкиДокумента,
		ТаблицаПогашеннойСтоимости,
		ТаблицаОшибок,
		СтруктураНаборыЗаписей
	);*/
			//УправлениеЗатратамиДвиженияПоРегистрам.ЗаписатьНаборыЗаписейРегистров(СтруктураНаборыЗаписей);
		}
		// СформироватьДвиженияПоМатериаламВЭксплуатации()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ БУХГАЛТЕРИИ
		// Функция проверяет заполнение счета затрат и счета учета материалов в эксплуатации.
		//
		// Параметры:
		//  СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	СчетЗатрат - ПланыСчетов.Хозрасчетный или ПланыСчетов.Налоговый - Счет затрат
		//	СчетУчета - ПланыСчетов.Хозрасчетный или ПланыСчетов.Налоговый - Счет учета материалов в эксплуатации
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения счетов.
		//

		public object ПроверитьСчетЗатратИСчетУчетаПоВидуОтраженияВУчете(/*
	СтрокаВыборки,
	СчетЗатрат, 
	СчетУчета,
	ВидОтраженияВУчете,
	ТаблицаОшибок
	*/)
		{
			//ПроверкаПройдена = Истина;
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//ТекстОтраженияВУчете = "по бухгалтерскому учету";
			}
			if(true/*Не ЗначениеЗаполнено(СчетЗатрат)*/)
			{
				/*ТекстСообщения = "Не указан счет затрат " + ТекстОтраженияВУчете + ":
			|Способ отражения расходов: " + СтрокаВыборки.СпособОтраженияРасходов + "
			|Проводка по погашению стоимости спецодежды (спецоснастки, инвентаря) не сформирована!";*/
				//НоваяСтрока = ТаблицаОшибок.Добавить();
				//НоваяСтрока.Сообщение = ТекстСообщения;
				//НоваяСтрока.Объект = СтрокаВыборки.СпособОтраженияРасходов;
				//ПроверкаПройдена = Ложь;
			}
			if(true/*Не ЗначениеЗаполнено(СчетУчета)*/)
			{
				/*ТекстСообщения = "Не указан счет учета материала в эксплуатации " + ТекстОтраженияВУчете + ":
			|Номенклатура: " + СтрокаВыборки.Номенклатура + "
			|Проводка по погашению стоимости спецодежды (спецоснастки, инвентаря) не сформирована!";*/
				//НоваяСтрока = ТаблицаОшибок.Добавить();
				//НоваяСтрока.Сообщение = ТекстСообщения;
				//ПроверкаПройдена = Ложь;
			}
			return null;
		}
		// ПроверитьСчетЗатратИСчетУчетаПоВидуОтраженияВУчете()
		// Процедура формирует проводку по погашению стоимости спецодежды (спецоснастки, инвентаря).
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//  СтрокаВыборки- ВыборкаИзРезультатаЗапроса - Строка выборки
		//	Склад - СправочникСсылка.Склады - Склад для формирования проводки
		//	Количество - Число - Количество проводки
		//  Сумма - Число - Сумма проводки
		//	КодОперации - ПеречислениеСсылка.КодыОперацийПартииМатериаловВЭксплуатации - Код операции
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//  ВидУчетаПоПБУ18 - ПеречислениеСсылка.ВидыУчетаПоПБУ18 - Вид учета по ПБУ18/02, для которого формируется проводка
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//  РегистрБухгалтерииНаборЗаписей - РегистрБухгалтерииНаборЗаписей - Набор записей регистра бухгалтерии.
		//

		public void СформироватьПроводкуПоРегиструБухгалтерииПогашениеСтоимости(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Склад,
	Знач Количество,
	Знач Сумма,
	КодОперации,
	ВидОтраженияВУчете,
	ВидУчетаПоПБУ18,
	ТаблицаОшибок,
	РегистрБухгалтерииНаборЗаписей
	*/)
		{
			if(true/*Количество = 0
	   И Сумма = 0*/)
			{
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//ИмяПланСчетов = "Хозрасчетный";
				//СчетЗатрат = СтрокаВыборки.СчетЗатрат;
				//СчетУчета = СтрокаВыборки.СчетУчетаБУ;
				//ЭтоИнвентарь = (СчетУчета = ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежности);
			}
			//МассивКодовОпераций = Новый Массив;
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатацииФикс);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатации);
			//МассивКодовОпераций.Добавить(Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс);
			if(true/*МассивКодовОпераций.Найти(КодОперации) <> Неопределено*/)
			{
				//УчетПоКоличеству = Не ЭтоИнвентарь;
			}
			if(true/*Не УчетПоКоличеству*/)
			{
				//Количество = 0;
			}
			if(true/*Количество = 0
	   И Сумма = 0*/)
			{
			}
			/*ПроверкаПройдена = ПроверитьСчетЗатратИСчетУчетаПоВидуОтраженияВУчете(
		СтрокаВыборки,
		СчетЗатрат, 
		СчетУчета,
		ВидОтраженияВУчете,
		ТаблицаОшибок
	);*/
			if(true/*Не ПроверкаПройдена*/)
			{
			}
			if(true/*СчетЗатрат <> СчетУчета*/)
			{
				//НоваяПроводка = РегистрБухгалтерииНаборЗаписей.Добавить();
				//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяПроводка.Активность = Истина;
				//НоваяПроводка.Период = СтруктураШапкиДокумента.Дата;
				//НоваяПроводка.СписаниеПартий = Истина;
				//НоваяПроводка.Сумма = Сумма;
				if(true/*КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ВозвратИзЭксплуатации*/)
				{
					//НоваяПроводка.Содержание = "Возврат из эксплуатации";
					//НоваяПроводка.СчетДт = СчетЗатрат;
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Номенклатура", СтрокаВыборки.Номенклатура);
					//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Склады", СтрокаВыборки.СкладПолучатель);
				}
				//НоваяПроводка.КоличествоКт = Количество;
				//НоваяПроводка.СчетКт = СчетУчета;
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Номенклатура", СтрокаВыборки.Номенклатура);
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Склады", Склад);
				if(true/*ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ВР
		 ИЛИ ВидУчетаПоПБУ18 = Перечисления.ВидыУчетаПоПБУ18.ПР*/)
				{
					//НоваяПроводка.ВидУчетаДт = ВидУчетаПоПБУ18;
					//НоваяПроводка.ВидУчетаКт = ВидУчетаПоПБУ18;
				}
			}
		}
		// СформироватьПроводкуПоРегиструБухгалтерииПогашениеСтоимости()
		// Процедура формирует движения по регистрам бухгалтерии "Хозрасчетный" и "Налоговый" по погашению стоимости.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки
		//	Склад - СправочникСсылка.Склады - Склад для формирования проводки
		//	Количество - Число - Количество материала
		//	СтоимостьБух - Число - Стоимость по бухгалтерскому учету
		//	СтоимостьНал - Число - Стоимость по налоговому учету
		//	ПостояннаяРазница - Число - Стоимость в части постоянной разницы
		//	ВременнаяРазница - Число - Стоимость в части временной разницы
		//	КодОперации - ПеречислениеСсылка.КодыОперацийПартииМатериаловВЭксплуатации - Код операции
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииПогашениеСтоимости(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Склад,
	Количество,
	СтоимостьБух,
	СтоимостьНал,
	ПостояннаяРазница,
	ВременнаяРазница,
	КодОперации,
	ТаблицаОшибок,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*Количество = 0
	   И СтоимостьБух = 0
	   И СтоимостьНал = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//ИмяРегистра = "Хозрасчетный";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				/*// ВидУчетаПоПБУ18
*/
				/*ТаблицаОшибок,
			СтруктураНаборыЗаписей[ИмяРегистра]
			);*/
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ИмяРегистра = "Налоговый";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				/*СформироватьПроводкуПоРегиструБухгалтерииПогашениеСтоимости(
			СтруктураШапкиДокумента,
			СтрокаВыборки,
			Склад,
			Количество,
			СтоимостьНал,
			КодОперации,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете,
			Перечисления.ВидыУчетаПоПБУ18.НУ,
			ТаблицаОшибок,
			СтруктураНаборыЗаписей[ИмяРегистра]
		);*/
				if(true/*СтруктураШапкиДокумента.ПоддержкаПБУ18*/)
				{
					/*// Количество
*/
					/*ПостояннаяРазница,
				КодОперации,
				Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете,
				Перечисления.ВидыУчетаПоПБУ18.ПР,
				ТаблицаОшибок,
				СтруктураНаборыЗаписей[ИмяРегистра]
			);*/
					/*// Количество
*/
					/*ВременнаяРазница,
				КодОперации,
				Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете,
				Перечисления.ВидыУчетаПоПБУ18.ВР,
				ТаблицаОшибок,
				СтруктураНаборыЗаписей[ИмяРегистра]
			);*/
				}
			}
		}
		// СформироватьДвиженияПоРегиструБухгалтерииПогашениеСтоимости()
		// Процедура формирует движения по регистру бухгалтерии "Налоговый" по формированию постоянных разниц.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Текущая строка выборки
		//	Стоимость - Число - Стоимость по налоговому учету
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void СформироватьДвиженияПоРегиструБухгалтерииНеУчитываемыеВНУ(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	Стоимость,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*Стоимость = 0*/)
			{
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете
	 И СтруктураШапкиДокумента.ПоддержкаПБУ18*/)
			{
				//ИмяРегистра = "Налоговый";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				//НоваяПроводка = СтруктураНаборыЗаписей[ИмяРегистра].Добавить();
				//НоваяПроводка.Организация = СтруктураШапкиДокумента.Организация;
				//НоваяПроводка.Активность = Истина;
				//НоваяПроводка.Период = СтруктураШапкиДокумента.Дата;
				//НоваяПроводка.СписаниеПартий = Истина;
				//НоваяПроводка.Сумма = Стоимость;
				//НоваяПроводка.Содержание = "Передача материалов на расходы, не учитываемые в целях налогообложения";
				//НоваяПроводка.СчетДт = СтрокаВыборки.СчетУчетаНУ;
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетДт, НоваяПроводка.СубконтоДт, "Номенклатура", СтрокаВыборки.Номенклатура);
				//НоваяПроводка.СчетКт = СтрокаВыборки.СчетУчетаНУ;
				//БухгалтерскийУчет.УстановитьСубконто(НоваяПроводка.СчетКт, НоваяПроводка.СубконтоКт, "Номенклатура", СтрокаВыборки.Номенклатура);
				//НоваяПроводка.ВидУчетаДт = Перечисления.ВидыУчетаПоПБУ18.ПР;
				//НоваяПроводка.ВидУчетаКт = Перечисления.ВидыУчетаПоПБУ18.НУ;
			}
		}
		// СформироватьДвиженияПоРегиструБухгалтерииНеУчитываемыеВНУ()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПРОВЕРКИ ЗАПОЛНЕНИЯ РЕКВИЗИТОВ СПОСОБА ОТРАЖЕНИЯ РАСХОДОВ
		// Процедура проверяет правильность заполнения способа отражения расходов.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВыборкаПоСпособам - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения способа отражения расходов.
		//

		public object ПроверитьСпособОтраженияРасходов(/*
	СтруктураШапкиДокумента,
	ВыборкаПоСпособам,
	ТаблицаОшибок
	*/)
		{
			//ПроверкаПройдена = Истина;
			//СтруктураРеквизитов = Новый Структура;
			//СтруктураРеквизитов.Вставить("СтатьяЗатрат", "не указана статья затрат");
			//СтруктураРеквизитов.Вставить("Подразделение", "не указано подразделение");
			//СтруктураРеквизитов.Вставить("ПодразделениеОрганизации", "не указано подразделение организации");
			//Выборка = ВыборкаПоСпособам.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
			}
			return null;
		}
		// ПроверитьСпособОтраженияРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАСПРЕДЕЛЕНИЯ ПОГАШЕННОЙ СТОИМОСТИ
		// Функция формирует запрос по способам отражения амортизации.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица погашенной стоимости
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по способам распределения
		//

		public object СформироватьЗапросПоСпособамОтраженияРасходов(/*
	СтруктураШапкиДокумента,
	ТаблицаПогашеннойСтоимости
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Таблица.СпособОтраженияРасходов
	|	
	|ПОМЕСТИТЬ СпособыОтраженияРасходов
	|ИЗ
	|	&ТаблицаПогашеннойСтоимости КАК Таблица
	|ГДЕ
	|	Таблица.СпособОтраженияРасходов ССЫЛКА Справочник.СпособыОтраженияРасходовПоАмортизации
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Таблица.СпособОтраженияРасходов КАК Документ
	|	
	|ПОМЕСТИТЬ ДокументыСписания
	|ИЗ
	|	&ТаблицаПогашеннойСтоимости КАК Таблица
	|ГДЕ
	|	Таблица.СпособОтраженияРасходов ССЫЛКА Документ.СписаниеМатериаловИзЭксплуатации
	|;
	|///////////////////////////////////////////////////////////////////////////////
	|	
	|ВЫБРАТЬ
	|	СпособыОтраженияРасходов.НомерСтроки КАК НомерСтроки,
	|	СпособыОтраженияРасходов.Ссылка КАК СпособОтраженияРасходов,
	|	СпособыОтраженияРасходов.Ссылка.СпособРаспределенияЗатратНаВыпуск КАК СпособРаспределенияЗатратНаВыпуск,
	|	СпособыОтраженияРасходов.СтатьяЗатрат,
	|	СпособыОтраженияРасходов.НоменклатурнаяГруппа,
	|	СпособыОтраженияРасходов.Подразделение,
	|	СпособыОтраженияРасходов.ПодразделениеОрганизации,
	|
	|	СпособыОтраженияРасходов.Продукция,
	|	СпособыОтраженияРасходов.СерияПродукции,
	|	СпособыОтраженияРасходов.ХарактеристикаПродукции,
	|	
	|	СпособыОтраженияРасходов.ОбъектСтроительства,
	|	СпособыОтраженияРасходов.СпособСтроительства,
	|	СпособыОтраженияРасходов.Проект,
	|	
	|	СпособыОтраженияРасходов.СчетЗатрат,
	|	СпособыОтраженияРасходов.СчетЗатратНУ,
	|	
	|	СпособыОтраженияРасходов.Субконто1,
	|	СпособыОтраженияРасходов.Субконто2,
	|	СпособыОтраженияРасходов.Субконто3,
	|	СпособыОтраженияРасходов.СубконтоНУ1,
	|	СпособыОтраженияРасходов.СубконтоНУ2,
	|	СпособыОтраженияРасходов.СубконтоНУ3,
	|	
	|	СпособыОтраженияРасходов.Коэффициент
	|	
	|ИЗ
	|	Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК СпособыОтраженияРасходов
	|	
	|ГДЕ
	|	СпособыОтраженияРасходов.Ссылка В (
	|		ВЫБРАТЬ
	|			СпособОтраженияРасходов
	|		ИЗ
	|       	СпособыОтраженияРасходов КАК СпособыОтраженияРасходов
	|		)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	0 КАК НомерСтроки,
	|	СписанныеМатериалы.Регистратор КАК СпособОтраженияРасходов,
	|	Неопределено КАК СпособРаспределенияЗатратНаВыпуск,
	|	СписанныеМатериалы.СтатьяЗатрат,
	|	СписанныеМатериалы.НоменклатурнаяГруппа,
	|	СписанныеМатериалы.Подразделение,
	|	СписанныеМатериалы.ПодразделениеОрганизации,
	|
	|	Неопределено КАК Продукция,
	|	Неопределено КАК СерияПродукции,
	|	Неопределено КАК ХарактеристикаПродукции,
	|	
	|	Неопределено КАК ОбъектСтроительства,
	|	Неопределено КАК СпособСтроительства,
	|	Неопределено КАК Проект,
	|
	|	СписанныеМатериалы.СчетДт,
	|	СписанныеМатериалы.СчетДтНУ,
	|
	|	СписанныеМатериалы.СубконтоДт1,
	|	СписанныеМатериалы.СубконтоДт2,
	|	СписанныеМатериалы.СубконтоДт3,
	|	СписанныеМатериалы.СубконтоДтНУ1,
	|	СписанныеМатериалы.СубконтоДтНУ2,
	|	СписанныеМатериалы.СубконтоДтНУ3,
	|	
	|	1 КАК Коэффициент
	|
	|ИЗ
	|	РегистрСведений.СписанныеМатериалыИзЭксплуатации КАК СписанныеМатериалы
	|	
	|ГДЕ
	|	СписанныеМатериалы.Период МЕЖДУ &НачДата И &КонДата
	|	И СписанныеМатериалы.СпособСписанияРасходов = ЗНАЧЕНИЕ(Перечисление.СпособыСписанияРасходов.ИспользоватьСтатьюЗатратДокумента)
	|	И СписанныеМатериалы.Регистратор В (
	|		ВЫБРАТЬ
	|			Документ
	|		ИЗ
	|       	ДокументыСписания КАК ДокументыСписания
	|		)
	|	//ДляУпрУчета И СписанныеМатериалы.ОтражатьВУправленческомУчете
	|	//ДляБухУчета И СписанныеМатериалы.ОтражатьВБухгалтерскомУчете
	|	//ДляНалУчета И СписанныеМатериалы.ОтражатьВНалоговомУчете
	|	//ДляРеглУчета И СписанныеМатериалы.Организация = &Организация
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерСтроки
	|
	|ИТОГИ
	|	СУММА(Коэффициент)
	|ПО
	|	СпособыОтраженияРасходов.Ссылка
	|	
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ТаблицаПогашеннойСтоимости", ТаблицаПогашеннойСтоимости);
			if(true/*СтруктураШапкиДокумента.Свойство("НачДата")*/)
			{
				//Запрос.УстановитьПараметр("НачДата", СтруктураШапкиДокумента.НачДата);
				//Запрос.УстановитьПараметр("КонДата", СтруктураШапкиДокумента.КонДата);
			}
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			return null;
		}
		// СформироватьЗапросПоСпособамОтраженияРасходов()
		// Процедура выводит сообщение об нулевой сумме коэффициентов.
		//
		// Параметры:
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица регистрации ошибок
		//

		public void ВывестиСообщениеНулеваяСуммаКоэффициентов(/*
	СтрокаВыборки,
	ТаблицаОшибок
	*/)
		{
			/*ТекстСообщения = "В способе отражения расходов по амортизации (погашению стоимости) """ 
		+ СтрокаВыборки.СпособОтраженияРасходов
		+ """ сумма коэффициентов равна 0!";*/
			//НоваяСтрока = ТаблицаОшибок.Добавить();
			//НоваяСтрока.Сообщение = ТекстСообщения;
			//НоваяСтрока.Объект = СтрокаВыборки.СпособОтраженияРасходов;
		}
		// ВывестиСообщениеНулеваяСуммаКоэффициентов()
		// Процедура распределяет погашенную стоимость по способам отражения.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица сумм погашенной стоимости
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов(/*
	СтруктураШапкиДокумента,
	ТаблицаПогашеннойСтоимости,
	ТаблицаОшибок,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*ТаблицаПогашеннойСтоимости.Количество() = 0*/)
			{
			}
			/*ТаблицаПогашеннойСтоимости.Свернуть("
	    |КорАналитикаВидаУчета,
		|КорАналитикаУчетаЗатрат,
		|КорАналитикаРаспределенияЗатрат,
		|КорАналитикаУчетаПартий,
		|Склад,
		|Номенклатура,
		|СпособОтраженияРасходов,
		|СчетУчетаБУ,
		|СчетУчетаНУ"
		," 
		|КоличествоУпр,
		|КоличествоБух,
		|КоличествоНал,
		|СтоимостьУпр,
		|СтоимостьБух,
		|СтоимостьНал,
		|ПостояннаяРазница,
		|ВременнаяРазница"
	);*/
			/*Запрос = СформироватьЗапросПоСпособамОтраженияРасходов(
		СтруктураШапкиДокумента,
		ТаблицаПогашеннойСтоимости
	);*/
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			/*// определим структуру выходной таблицы
*/
			//ТаблицаЗатрат = УправлениеЗатратами.СформироватьТаблицуЗатрат();
			//ТаблицаЗатрат.Колонки.Добавить("СпособОтраженияРасходов", Новый ОписаниеТипов("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			if(true/*ТипЗнч(СтруктураШапкиДокумента.Ссылка) = Тип("ДокументСсылка.СписаниеМатериаловИзэксплуатации")*/)
			{
				if(true/*СтруктураШапкиДокумента.ТипСтоимости = Перечисления.ВидыНормативнойСтоимостиПроизводства.Фиксированная*/)
				{
					//КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.СписаниеИзЭксплуатацииФикс;
				}
			}
			//ВыборкаПоСпособам = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			while(true/*ВыборкаПоСпособам.Следующий()*/)
			{
				/*ПроверитьСпособОтраженияРасходов(
			СтруктураШапкиДокумента,
			ВыборкаПоСпособам,
			ТаблицаОшибок
		);*/
				if(true/*ВыборкаПоСпособам.Коэффициент = 0*/)
				{
					/*ВывестиСообщениеНулеваяСуммаКоэффициентов(
				ВыборкаПоСпособам,
				ТаблицаОшибок
			);*/
				}
				//СтруктураОтбора = Новый Структура;
				//СтруктураОтбора.Вставить("СпособОтраженияРасходов", ВыборкаПоСпособам.СпособОтраженияРасходов);
				//МассивСтрок = ТаблицаПогашеннойСтоимости.НайтиСтроки(СтруктураОтбора);
				if(true/*МассивСтрок.Количество() = 0*/)
				{
				}
			}
			/*;
	
	ТаблицаЗатрат.ЗаполнитьЗначения(СтруктураШапкиДокумента.Организация, "Организация");*/
			/*// ВидОтраженияВУчете
*/
			/*СтруктураНаборыЗаписей
	);*/
		}
		// РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРА ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО СПИСАНИЮ ИЗ ЭКСПЛУАТАЦИИ
		// Процедура формирует движения по списанию материалов из эксплуатации.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаПоМатериалам - ТаблицаЗначений - Таблица документа
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//

		public void СформироватьДвиженияПоСписаниюИзЭксплуатации(/*
	СтруктураШапкиДокумента,
	ТаблицаПоМатериалам,
	ТаблицаОшибок
	*/)
		{
			//ТаблицаПогашеннойСтоимости = СформироватьТаблицуПогашеннойСтоимости();
			//СтруктураНаборыЗаписей = Новый Структура;
			/*РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов(
		СтруктураШапкиДокумента,
		ТаблицаПогашеннойСтоимости,
		ТаблицаОшибок,
		СтруктураНаборыЗаписей
	);*/
			//УправлениеЗатратамиДвиженияПоРегистрам.ЗаписатьНаборыЗаписейРегистров(СтруктураНаборыЗаписей);
		}
		// СформироватьДвиженияПоСписаниюИзЭксплуатации()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ФОРМИРОВАНИЯ ДВИЖЕНИЙ ПО РЕГИСТРАМ
		// Процедура формирует движение по регистру "Партии материалов в эксплуатации".
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	ДокументПередачи - ДокументСсылка.ПередачаМатериаловВЭксплуатацию - Документ передачи
		//	Количество - Число - Количество материалов
		//  Стоимость - Число - Сумма материалов
		//  ПогашеннаяСтоимость - Число - Сумма погашенной стоимости
		//  ПостояннаяРазница - Число - Сумма постоянной разницы
		//  ВременнаяРазница - Число - Сумма временной разницы
		//  ПогашеннаяСтоимостьПР - Число - Сумма погашенной стоимости в части постоянной разницы
		//  ПогашеннаяСтоимостьВР - Число - Сумма погашенной стоимости в части временной разницы
		//
		//	ВидДвижения - ВидДвиженияНакопления - Текущий вид движения
		//	КодОперации - ПеречислениеСсылка.КодыОперацийПартииМатериаловВЭксплуатации - Код операции
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	НаборЗаписейПартииМатериалов - РегистрНакопленияНаборЗаписей - Набор записей регистра накопления "Партии материалов в эксплуатации".
		//

		public void СформироватьДвиженияПоРегиструПартииМатериаловВЭксплуатации(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ДокументПередачи,
	Количество,
	Стоимость,
	ПогашеннаяСтоимость,
	ПостояннаяРазница,
	ВременнаяРазница,
	ПогашеннаяСтоимостьПР,
	ПогашеннаяСтоимостьВР,
	ВидДвижения,
	КодОперации,
	ВидОтраженияВУчете,
	НаборЗаписейПартииМатериалов
	*/)
		{
			if(true/*Количество = 0
	   И Стоимость = 0
	   И ПогашеннаяСтоимость = 0
	   И ПостояннаяРазница = 0
	   И ВременнаяРазница = 0
	   И ПогашеннаяСтоимостьПР = 0
	   И ПогашеннаяСтоимостьВР = 0*/)
			{
			}
			/*// В движениях по регистру "Партии материалов в эксплуатации" должны быть заполнены измерения:
*/
			/*//	- Подразделение,
*/
			/*//	- СчетУчета - заполняется только при отражении документа в бухгалтерском или налоговом учете,
*/
			/*//	- Номенклатура,
*/
			/*//	- ХарактеристикаНоменклатуры,
*/
			/*//	- СерияНоменклатуры,
*/
			/*//	- ДокументПередачи,
*/
			/*//	- ФизЛицо,
*/
			/*//	- НазначениеИспользования.
*/
			//НоваяСтрока = НаборЗаписейПартииМатериалов.Добавить();
			//НоваяСтрока.Активность = Истина;
			//НоваяСтрока.ВидДвижения = ВидДвижения;
			//НоваяСтрока.Период = СтруктураШапкиДокумента.ПериодРегистрации;
			//ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаВыборки);
			//НоваяСтрока.ДокументПередачи = ДокументПередачи;
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
			{
				//НоваяСтрока.Подразделение = СтрокаВыборки.Подразделение;
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете*/)
			{
				//НоваяСтрока.СчетУчета = СтрокаВыборки.СчетУчета;
			}
			//НоваяСтрока.КодОперации = КодОперации;
			//НоваяСтрока.СписаниеПартий = Истина;
			if(true/*КодОперации = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПеремещениеВЭксплуатации
	   И ВидДвижения = ВидДвиженияНакопления.Расход*/)
			{
				//НоваяСтрока.НомерКорСтроки = СтрокаВыборки.НомерСтроки;
			}
			//НоваяСтрока.Количество = Количество;
			//НоваяСтрока.Стоимость = Стоимость;
			if(true/*ВидОтраженияВУчете <> Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПогашеннаяСтоимость = ПогашеннаяСтоимость;
			}
			if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
			{
				//НоваяСтрока.ПостояннаяРазница = ПостояннаяРазница;
				//НоваяСтрока.ВременнаяРазница = ВременнаяРазница;
				//НоваяСтрока.ПогашеннаяСтоимостьПР = ПогашеннаяСтоимостьПР;
				//НоваяСтрока.ПогашеннаяСтоимостьВР = ПогашеннаяСтоимостьВР;
			}
			/*// Если в наборе записей 1000 строк, запишем набор.
*/
			if(true/*НаборЗаписейПартииМатериалов.Количество() = 1000*/)
			{
				//НаборЗаписейПартииМатериалов.Записать(Ложь);
			}
		}
		// СформироватьДвиженияПоРегиструПартииМатериаловВЭксплуатации()
		// Процедура формирует движение по регистрам "Партии материалов в эксплуатации" по всем видам учета.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура – Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//  Стоимость - Число - Сумма материалов
		//  ПогашеннаяСтоимостьУпр - Число - Сумма погашенной стоимости по упр. учету
		//  ПогашеннаяСтоимостьБух - Число - Сумма погашенной стоимости по бух. учету
		//  ПогашеннаяСтоимостьНал - Число - Сумма погашенной стоимости по нал. учету
		//	ВременнаяРазница - Число - Стоимость в части временной разницы
		//	ПостояннаяРазница - Число - Стоимость в части постоянной разницы
		//  ПогашеннаяПостояннаяРазница - Число - Сумма погашенной стоимости в части постоянной разницы
		//  ПогашеннаяВременнаяРазница - Число - Сумма погашенной стоимости в части временной разницы
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void СформироватьДвиженияПоРегистрамПартииМатериаловВЭксплуатации(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ПогашеннаяСтоимостьУпр,
	ПогашеннаяСтоимостьБух,
	ПогашеннаяСтоимостьНал,
	ВременнаяРазница,
	ПостояннаяРазница,
	ПогашеннаяПостояннаяРазница,
	ПогашеннаяВременнаяРазница,
	СтруктураНаборыЗаписей
	*/)
		{
			//КодОперацииПогашениеСтоимости = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПогашениеСтоимости;
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				//ИмяРегистра = "ПартииМатериаловВЭксплуатации";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				/*// Количество,
*/
				/*// Стоимость,
*/
				/*// ПостояннаяРазница,
*/
				/*// ВременнаяРазница,
*/
				/*// ПогашеннаяПостояннаяРазница,
*/
				/*// ПогашеннаяВременнаяРазница,
*/
				/*ВидДвиженияНакопления.Приход,
			КодОперацииПогашениеСтоимости,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете,
			СтруктураНаборыЗаписей[ИмяРегистра]
		);*/
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				//ИмяРегистра = "ПартииМатериаловВЭксплуатацииБухгалтерскийУчет";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				/*// Количество,
*/
				/*// Стоимость,
*/
				/*// ПостояннаяРазница,
*/
				/*// ВременнаяРазница,
*/
				/*// ПогашеннаяПостояннаяРазница,
*/
				/*// ПогашеннаяВременнаяРазница,
*/
				/*ВидДвиженияНакопления.Приход,
			КодОперацииПогашениеСтоимости,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете,
			СтруктураНаборыЗаписей[ИмяРегистра]
		);*/
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ИмяРегистра = "ПартииМатериаловВЭксплуатацииНалоговыйУчет";
				/*ПолученНаборЗаписей = УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
				if(true/*Не ПолученНаборЗаписей*/)
				{
				}
				/*// Количество,
*/
				/*// Стоимость,
*/
				/*// ПогашеннаяСтоимость,
*/
				/*// ПогашеннаяСтоимостьПР
*/
				/*// ПогашеннаяСтоимостьВР
*/
				/*ВидДвиженияНакопления.Расход,
			КодОперацииПогашениеСтоимости,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете,
			СтруктураНаборыЗаписей[ИмяРегистра]
		);*/
			}
		}
		// СформироватьДвиженияПоРегиструПартииМатериаловВЭксплуатации()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАСЧЕТА ПОГАШЕННОЙ СТОИМОСТИ
		// Функция формирует запрос по остаткам материалов в эксплуатации.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по остаткам материалов в эксплуатации
		//

		public object СформироватьЗапросПоОстаткамМатериаловВЭксплуатацииРасширеннаяАналитика(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ
	|	РегистрАналитикаВидаУчета.Ссылка
	|
	|ПОМЕСТИТЬ ТаблицаАналитикиВидаУчета
	|ИЗ
	|	РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|ГДЕ
	|	(РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МатериалыВЭксплуатации)
	|	ИЛИ РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ПогашеннаяСтоимость))
	|	//ДляУпрУчета И РегистрАналитикаВидаУчета.СчетУчета = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ПустаяСсылка)
	|	//ДляРеглУчета И РегистрАналитикаВидаУчета.Организация = &Организация
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|ВЫБРАТЬ
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчета КАК СчетУчетаБУ,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ КАК СчетУчетаНУ,
	|
	|	РегистрАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
	|
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	ЕСТЬNULL(РегистрАналитикаУчетаПартий.НазначениеИспользования.СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости КАК СпособПогашенияСтоимости,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов КАК СпособОтраженияРасходов,
	|	Ложь КАК НеУчитываемыеВНУ,
	|	Истина КАК УчитываемыеВНУ,
	|
	|	//ДляРеглУчета СУММА(
	|	//ДляРеглУчета 		ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МатериалыВЭксплуатации) ТОГДА
	|   //ДляРеглУчета 			УчетЗатрат.ПостояннаяРазницаНачальныйОстаток
	|	//ДляРеглУчета 		ИНАЧЕ
	|   //ДляРеглУчета 			0
	|	//ДляРеглУчета 		КОНЕЦ
	|	//ДляРеглУчета ) КАК ПостояннаяРазницаНачальныйОстаток,
	|   //ДляРеглУчета СУММА(УчетЗатрат.ПостояннаяРазницаКонечныйОстаток) КАК ПостояннаяРазницаКонечныйОстаток,
	|
	|   //ДляРеглУчета 0 КАК ВременнаяРазницаНачальныйОстаток,
	|   //ДляРеглУчета 0 КАК ВременнаяРазницаКонечныйОстаток,
	|
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьВРНачальныйОстаток,
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьПРНачальныйОстаток,
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьВРКонечныйОстаток,
	|	//ДляРеглУчета 0 КАК ПогашеннаяСтоимостьПРКонечныйОстаток,
	|
	|	СУММА(
	|		ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.ПогашеннаяСтоимость) ТОГДА
	|   		- УчетЗатрат.СтоимостьНачальныйОстаток
	|		ИНАЧЕ
	|   		0
	|		КОНЕЦ
	|	) КАК ПогашеннаяСтоимостьНачальныйОстаток,
	|
	|	СУММА(
	|		ВЫБОР КОГДА РегистрАналитикаВидаУчета.РазделУчета = ЗНАЧЕНИЕ(Перечисление.РазделыУчета.МатериалыВЭксплуатации) ТОГДА
	|   		УчетЗатрат.СтоимостьНачальныйОстаток
	|		ИНАЧЕ
	|   		0
	|		КОНЕЦ
	|	) КАК СтоимостьНачальныйОстаток,
	|	СУММА(УчетЗатрат.СтоимостьКонечныйОстаток) КАК СтоимостьКонечныйОстаток
	|
	|ИЗ
	|	РегистрНакопления.УчетЗатрат%СуффиксРегл%.ОстаткиИОбороты(&НачГраница, &КонГраница, , ,
	|		АналитикаВидаУчета В (
	|			ВЫБРАТЬ
	|           	Ссылка
	|           ИЗ
	|           	ТаблицаАналитикиВидаУчета
	|           )
	|	) КАК УчетЗатрат
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрАналитикаВидаУчета
	|	ПО 
	|		УчетЗатрат.АналитикаВидаУчета = РегистрАналитикаВидаУчета.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаЗатрат КАК РегистрАналитикаУчетаЗатрат
	|	ПО 
	|		УчетЗатрат.АналитикаУчетаЗатрат = РегистрАналитикаУчетаЗатрат.Ссылка
	|
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрАналитикаУчетаПартий
	|	ПО 
	|		УчетЗатрат.АналитикаУчетаПартий = РегистрАналитикаУчетаПартий.Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий,
	|
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	РегистрАналитикаУчетаЗатрат.Затрата,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования,
	|	ЕСТЬNULL(РегистрАналитикаУчетаПартий.НазначениеИспользования.СрокПолезногоИспользования, 0),
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости,
	|	РегистрАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов
	|
	|УПОРЯДОЧИТЬ ПО
	|	РегистрАналитикаВидаУчета.Организация,
	|	РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
	|	РегистрАналитикаВидаУчета.Подразделение,
	|	РегистрАналитикаВидаУчета.СчетУчета,
	|	РегистрАналитикаВидаУчета.СчетУчетаНУ,
	|	УчетЗатрат.АналитикаУчетаЗатрат,
	|	УчетЗатрат.АналитикаРаспределенияЗатрат,
	|	УчетЗатрат.АналитикаУчетаПартий
	|";*/
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.НачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.КонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			return null;
		}
		// СформироватьЗапросПоОстаткамМатериаловВЭксплуатацииРасширеннаяАналитика()
		// Функция формирует запрос по остаткам материалов в эксплуатации.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по остаткам материалов в эксплуатации
		//

		public object СформироватьЗапросПоОстаткамМатериаловВЭксплуатации(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете
	*/)
		{
			/*ТекстЗапросаСКомментариями = "
	|ВЫБРАТЬ
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляРеглУчета ПартииМатериалов.Подразделение КАК ПодразделениеОрганизации,
	|	//ДляУпрУчета ПартииМатериалов.Подразделение,
	|
	|	//ДляБухУчета ПартииМатериалов.СчетУчета,
	|	//ДляБухУчета ПартииМатериалов.СчетУчета КАК СчетУчетаБУ,
	|	//ДляНалУчета ПартииМатериалов.СчетУчета КАК СчетУчетаНУ,
	|
	|	ПартииМатериалов.Подразделение,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ЕСТЬNULL(ПартииМатериалов.НазначениеИспользования.СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования,
	|	ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости КАК СпособПогашенияСтоимости,
	|	ПартииМатериалов.НазначениеИспользования.СпособОтраженияРасходов КАК СпособОтраженияРасходов,
	|	ПартииМатериалов.ДокументПередачи,
	|	Ложь КАК НеУчитываемыеВНУ,
	|	Истина КАК УчитываемыеВНУ,
	|
	|   //ДляНалУчета ПартииМатериалов.ПостояннаяРазницаНачальныйОстаток,
	|   //ДляНалУчета ПартииМатериалов.ПостояннаяРазницаКонечныйОстаток,
	|   //ДляНалУчета ПартииМатериалов.ВременнаяРазницаНачальныйОстаток,
	|   //ДляНалУчета ПартииМатериалов.ВременнаяРазницаКонечныйОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьПРНачальныйОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьВРНачальныйОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьПРКонечныйОстаток,
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьВРКонечныйОстаток,
	|
	|	//ДляУпрУчета ПартииМатериалов.ПогашеннаяСтоимостьНачальныйОстаток,
	|	//ДляБухУчета ПартииМатериалов.ПогашеннаяСтоимостьНачальныйОстаток,
	|	//ДляНалУчета 0 КАК ПогашеннаяСтоимостьНачальныйОстаток,
	|
	|	ПартииМатериалов.СтоимостьНачальныйОстаток,
	|	ПартииМатериалов.СтоимостьКонечныйОстаток
	|
	|ИЗ
	|	РегистрНакопления.ПартииМатериаловВЭксплуатации%СуффиксУчета%.ОстаткиИОбороты(&НачГраница, &КонГраница, , ,
	|		//ДляРеглУчета Организация = &Организация
	|	) КАК ПартииМатериалов
	|
	|ГДЕ
	|	//ДляУпрУчета ПартииМатериалов.ПогашеннаяСтоимостьПриход = 0 // если погашение стоимости не производилось в текущем месяце
	|	//ДляБухУчета ПартииМатериалов.ПогашеннаяСтоимостьПриход = 0 // если погашение стоимости не производилось в текущем месяце
	|	//ДляНалУчета ПартииМатериалов.ПогашеннаяСтоимостьВРПриход = 0 // если погашение стоимости не производилось в текущем месяце
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляРеглУчета ПартииМатериалов.Подразделение,
	|	//ДляУпрУчета ПартииМатериалов.Подразделение,
	|
	|	//ДляБухУчета ПартииМатериалов.СчетУчета,
	|	//ДляНалУчета ПартииМатериалов.СчетУчета,
	|
	|	ПартииМатериалов.Подразделение,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ПартииМатериалов.СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи
	|";*/
			/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
		ТекстЗапросаСКомментариями,
		ВидОтраженияВУчете
	);*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("НачГраница", СтруктураШапкиДокумента.НачГраница);
			//Запрос.УстановитьПараметр("КонГраница", СтруктураШапкиДокумента.КонГраница);
			//Запрос.УстановитьПараметр("Организация", СтруктураШапкиДокумента.Организация);
			return null;
		}
		// СформироватьЗапросПоОстаткамМатериаловВЭксплуатации()
		// Процедура рассчитывает сумму погашения стоимости.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ВидОтраженияВУчете - ПеречислениеСсылка.ВидыОтраженияВУчете - Вид отражения в учете
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица погашенной стоимости
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void РассчитатьПогашеннуюСтоимость(/*
	СтруктураШапкиДокумента,
	ВидОтраженияВУчете,
	ТаблицаПогашеннойСтоимости,
	ТаблицаОшибок,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				/*Запрос = СформироватьЗапросПоОстаткамМатериаловВЭксплуатацииРасширеннаяАналитика(
			СтруктураШапкиДокумента,
			ВидОтраженияВУчете
		);*/
			}
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			if(true/*Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				//СуффиксИмениРегистра = СтруктураШапкиДокумента.СуффиксыИмениРегистра[ВидОтраженияВУчете];
				//ИмяРегистра = "ПартииМатериаловВЭксплуатации" + СуффиксИмениРегистра;
				/*УправлениеЗатратамиДвиженияПоРегистрам.ПолучитьНаборЗаписейРегистра(
			СтруктураШапкиДокумента, 
			ИмяРегистра,
			СтруктураНаборыЗаписей
		);*/
			}
			//КодОперацииПогашениеСтоимости = Перечисления.КодыОперацийПартииМатериаловВЭксплуатации.ПогашениеСтоимости;
			//СтруктураКлючиАналитики = Новый Структура;
			//Выборка  = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				/*// Погашение стоимости производим только для линейного способа.
*/
				if(true/*Выборка.СпособПогашенияСтоимости <> Перечисления.СпособыПогашенияСтоимости.Линейный*/)
				{
				}
				/*ПроверкаПройдена = ПроверитьНазначениеИспользования(
			СтруктураШапкиДокумента,
			Выборка,
			ТаблицаОшибок
		);*/
				if(true/*Не ПроверкаПройдена*/)
				{
				}
				//СтоимостьОстаток = Выборка.СтоимостьНачальныйОстаток - Выборка.ПогашеннаяСтоимостьНачальныйОстаток;
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете
		 ИЛИ ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВРегламентированномУчете*/)
				{
					//ПостояннаяРазницаОстаток = Выборка.ПостояннаяРазницаНачальныйОстаток - Выборка.ПогашеннаяСтоимостьПРНачальныйОстаток;
					//ВременнаяРазницаОстаток = Выборка.ВременнаяРазницаНачальныйОстаток - Выборка.ПогашеннаяСтоимостьВРНачальныйОстаток;
				}
				if(true/*СтоимостьОстаток = 0
		   И ПостояннаяРазницаОстаток = 0
		   И ВременнаяРазницаОстаток = 0*/)
				{
				}
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете*/)
				{
					//ПогашеннаяСтоимость = 0;
					//ПогашеннаяПостояннаяРазница = Выборка.ПостояннаяРазницаНачальныйОстаток / Выборка.СрокПолезногоИспользования;
					//ПогашеннаяВременнаяРазница = Выборка.ВременнаяРазницаНачальныйОстаток / Выборка.СрокПолезногоИспользования;
				}
				//ПогашеннаяСтоимость = Макс(Мин(ПогашеннаяСтоимость, СтоимостьОстаток), 0);
				//ПогашеннаяСтоимость = Окр(ПогашеннаяСтоимость, 2, 1);
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете
		 ИЛИ ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВРегламентированномУчете*/)
				{
					//ПогашеннаяПостояннаяРазница = Макс(Мин(ПогашеннаяПостояннаяРазница, ПостояннаяРазницаОстаток), 0);
					//ПогашеннаяПостояннаяРазница = Окр(ПогашеннаяПостояннаяРазница, 2, 1);
					//ПогашеннаяВременнаяРазница = Макс(Мин(ПогашеннаяВременнаяРазница, ВременнаяРазницаОстаток), 0);
					//ПогашеннаяВременнаяРазница = Окр(ПогашеннаяВременнаяРазница, 2, 1);
				}
				if(true/*ПогашеннаяСтоимость = 0
		   И ПогашеннаяПостояннаяРазница = 0
		   И ПогашеннаяВременнаяРазница = 0*/)
				{
				}
				/*// Запомним погашенную стоимость в таблице значений.
*/
				//НоваяСтрока = ТаблицаПогашеннойСтоимости.Добавить();
				//ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
				if(true/*ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете*/)
				{
					//НоваяСтрока.СтоимостьУпр = ПогашеннаяСтоимость;
				}
				if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
				{
					/*РасширеннаяАналитикаУчета.ДвижениеПоРегиструУчетЗатратПогашениеСтоимости(
				СтруктураШапкиДокумента,
				Выборка,
				ВидОтраженияВУчете,
				ПогашеннаяСтоимость,
				ПогашеннаяПостояннаяРазница,
				СтруктураКлючиАналитики,
				СтруктураНаборыЗаписей
			);*/
				}
			}
			//;;
		}
		// РассчитатьПогашеннуюСтоимость()
		// Функция формирует таблицу погашенной стоимости.
		//
		// Возвращаемое значение:
		//	ТаблицаЗначений - Таблица для отражения погашенной стоимости
		//

		public object СформироватьТаблицуПогашеннойСтоимости(/**/)
		{
			//ТаблицаПогашеннойСтоимости = Новый ТаблицаЗначений;
			//Колонки = ТаблицаПогашеннойСтоимости.Колонки;
			//Колонки.Добавить("Склад", Новый ОписаниеТипов("СправочникСсылка.Склады"));
			//Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
			//МассивТипов = Новый Массив;
			//МассивТипов.Добавить(Тип("СправочникСсылка.СпособыОтраженияРасходовПоАмортизации"));
			//МассивТипов.Добавить(Тип("ДокументСсылка.СписаниеМатериаловИзЭксплуатации"));
			//Колонки.Добавить("СпособОтраженияРасходов", Новый ОписаниеТипов(МассивТипов));
			//Колонки.Добавить("КорАналитикаВидаУчета", Новый ОписаниеТипов("СправочникСсылка.КлючиАналитикиВидаУчета"));
			//Колонки.Добавить("КорАналитикаУчетаЗатрат", Новый ОписаниеТипов("СправочникСсылка.КлючиАналитикиУчетаЗатрат"));
			//Колонки.Добавить("КорАналитикаРаспределенияЗатрат", Новый ОписаниеТипов("СправочникСсылка.КлючиАналитикиРаспределенияЗатрат"));
			//Колонки.Добавить("КорАналитикаУчетаПартий", Новый ОписаниеТипов("СправочникСсылка.КлючиАналитикиУчетаПартий"));
			//Колонки.Добавить("СчетУчетаБУ", Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный"));
			//Колонки.Добавить("СчетУчетаНУ", Новый ОписаниеТипов("ПланСчетовСсылка.Налоговый"));
			//Колонки.Добавить("КоличествоУпр", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//Колонки.Добавить("КоличествоБух", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//Колонки.Добавить("КоличествоНал", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
			//Колонки.Добавить("СтоимостьУпр", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//Колонки.Добавить("СтоимостьБух", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//Колонки.Добавить("СтоимостьНал", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//Колонки.Добавить("ПостояннаяРазница", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//Колонки.Добавить("ВременнаяРазница", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
			//ТаблицаПогашеннойСтоимости.Индексы.Добавить("СпособОтраженияРасходов");
			return null;
		}
		// ПолучитьТаблицуАмортизации()
		// Процедура выполняет погашение стоимости материалов в эксплуатации.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//

		public void ПогашениеСтоимостиМатериаловВЭксплуатации(/*
	СтруктураШапкиДокумента,
	ТаблицаОшибок
	*/)
		{
			//СтруктураНаборыЗаписей = Новый Структура;
			//ТаблицаПогашеннойСтоимости = СформироватьТаблицуПогашеннойСтоимости();
			/*РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов(
		СтруктураШапкиДокумента,
		ТаблицаПогашеннойСтоимости,
		ТаблицаОшибок,
		СтруктураНаборыЗаписей
	);*/
			//УправлениеЗатратамиДвиженияПоРегистрам.ЗаписатьНаборыЗаписейРегистров(СтруктураНаборыЗаписей);
		}
		// ПогашениеСтоимостиМатериаловВЭксплуатации()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ ПРОВЕРКИ ЗАПОЛНЕНИЯ РЕКВИЗИТОВ НАЗНАЧЕНИЯ ИСПОЛЬЗОВАНИЯ
		// Процедура проверяет правильность заполнения назначения использования.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	СтрокаВыборки - ВыборкаИзРезультатаЗапроса - Строка выборки из результата запроса
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//
		// Возвращаемое значение:
		//   Булево – 	Истина - проверка прошла успешно,
		//				Ложь - обнаружены ошибки заполнения назначения использования.
		//

		public object ПроверитьНазначениеИспользования(/*
	СтруктураШапкиДокумента,
	СтрокаВыборки,
	ТаблицаОшибок
	*/)
		{
			//ПроверкаПройдена = Истина;
			if(true/*СтрокаВыборки.СрокПолезногоИспользования = 0*/)
			{
				/*ТекстСообщения = "В назначении использования """ 
			+ СтрокаВыборки.НазначениеИспользования
			+ """ не указан срок полезного использования!";*/
				//НоваяСтрока = ТаблицаОшибок.Добавить();
				//НоваяСтрока.Сообщение = ТекстСообщения;
				//НоваяСтрока.Объект = СтрокаВыборки.НазначениеИспользования;
				//ПроверкаПройдена = Ложь;
			}
			if(true/*Не ЗначениеЗаполнено(СтрокаВыборки.СпособОтраженияРасходов)*/)
			{
				/*ТекстСообщения = "В назначении использования """ 
			+ СтрокаВыборки.НазначениеИспользования
			+ """ не указан способ отражения расходов!";*/
				//НоваяСтрока = ТаблицаОшибок.Добавить();
				//НоваяСтрока.Сообщение = ТекстСообщения;
				//НоваяСтрока.Объект = СтрокаВыборки.НазначениеИспользования;
				//ПроверкаПройдена = Ложь;
			}
			if(true/*СтрокаВыборки.НеУчитываемыеВНУ
	   И СтрокаВыборки.УчитываемыеВНУ*/)
			{
				/*ТекстСообщения = "В способе отражения расходов """ 
			+ СтрокаВыборки.СпособОтраженияРасходов
			+ """ нельзя указывать статьи затрат принимаемые и непринимаемые в НУ!";*/
				//НоваяСтрока = ТаблицаОшибок.Добавить();
				//НоваяСтрока.Сообщение = ТекстСообщения;
				//НоваяСтрока.Объект = СтрокаВыборки.СпособОтраженияРасходов;
				//ПроверкаПройдена = Ложь;
			}
			return null;
		}
		// ПроверитьНазначениеИспользования()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАСЧЕТА ПОГАШЕННОЙ СТОИМОСТИ ПРИ ПЕРЕДАЧЕ В ЭКСПЛУАТАЦИЮ
		// Функция формирует запрос по списанным партиям.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаСписанныхПартий - ТаблицаЗначений - Таблица списанных партий
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по остаткам материалов в эксплуатации
		//

		public object СформироватьЗапросПоСписаннымПартиямРасширеннаяАналитика(/*
	СтруктураШапкиДокумента,
	ТаблицаСписанныхПартий
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Таблица.ОтражатьВУправленческомУчете,
	|	Таблица.ОтражатьВБухгалтерскомУчете,
	|	Таблица.ОтражатьВНалоговомУчете,
	|
	|	Таблица.АналитикаВидаУчета,
	|	Таблица.АналитикаУчетаЗатрат,
	|	Таблица.АналитикаРаспределенияЗатрат,
	|	Таблица.АналитикаУчетаПартий,
	|
	|	Таблица.КорАналитикаВидаУчета,
	|	Таблица.КорАналитикаУчетаЗатрат,
	|	Таблица.КорАналитикаРаспределенияЗатрат,
	|	Таблица.КорАналитикаУчетаПартий,
	|
	|	Таблица.Склад,
	|	
	|	Таблица.ПостояннаяРазница,
	|	Таблица.СтоимостьНУ,
	|	Таблица.КоличествоНУ,
	|	Таблица.Стоимость,
	|	Таблица.Количество
	|	
	|ПОМЕСТИТЬ ПартииМатериалов
	|ИЗ
	|	&ТаблицаСписанныхПартий КАК Таблица
    |;
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Способы.Ссылка КАК СпособОтраженияРасходов,
	|	Истина КАК НеУчитываемыеВНУ,
	|	ЕСТЬNULL(СпособыПринимаемыеВНУ.УчитываемыеВНУ, Ложь) КАК УчитываемыеВНУ
	|
	|ПОМЕСТИТЬ СпособыОтраженияРасходов
	|ИЗ
	|	Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Способы.Ссылка,
	|			Истина КАК УчитываемыеВНУ
	|		ИЗ
	|			Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
	|		ГДЕ
	|			Способы.СтатьяЗатрат.ВидРасходовНУ <> ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.НеУчитываемыеВЦеляхНалогообложения)
	|		) КАК СпособыПринимаемыеВНУ
	|	ПО
	|		Способы.Ссылка = СпособыПринимаемыеВНУ.Ссылка
	|ГДЕ
	|	Способы.СтатьяЗатрат.ВидРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.НеУчитываемыеВЦеляхНалогообложения)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СпособОтраженияРасходов
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ПартииМатериалов.АналитикаВидаУчета,
	|	ПартииМатериалов.АналитикаУчетаЗатрат,
	|	ПартииМатериалов.АналитикаРаспределенияЗатрат,
	|	ПартииМатериалов.АналитикаУчетаПартий,
	|
	|	ПартииМатериалов.КорАналитикаВидаУчета,
	|	ПартииМатериалов.КорАналитикаУчетаЗатрат,
	|	ПартииМатериалов.КорАналитикаРаспределенияЗатрат,
	|	ПартииМатериалов.КорАналитикаУчетаПартий,
	|
	|	ПартииМатериалов.Склад,
	|
	|	РегистрКорАналитикаВидаУчета.СчетУчета КАК СчетУчетаБУ,
	|	РегистрКорАналитикаВидаУчета.СчетУчетаНУ,
	|
	|	РегистрКорАналитикаУчетаЗатрат.Затрата КАК Номенклатура,
	|
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости КАК СпособПогашенияСтоимости,
	|	ЕСТЬNULL(РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования,
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов КАК СпособОтраженияРасходов,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь) КАК НеУчитываемыеВНУ,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.УчитываемыеВНУ, Ложь) КАК УчитываемыеВНУ,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете
	|			И РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.ПостояннаяРазница
	|		ИНАЧЕ
	|			0
	|	КОНЕЦ) КАК ПостояннаяРазница,
	|	0 КАК ВременнаяРазница,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете
	|			И (РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|				ИЛИ Не ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь))
	|		ТОГДА
	|			ПартииМатериалов.СтоимостьНУ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК СтоимостьНал,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВБухгалтерскомУчете
	|			И РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Стоимость
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК СтоимостьБух,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВУправленческомУчете
	|			И РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Стоимость
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК СтоимостьУпр,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете
	|			И (РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|				ИЛИ Не ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь))
	|		ТОГДА
	|			ПартииМатериалов.КоличествоНУ
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоНал,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВБухгалтерскомУчете
	|			И РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоБух,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВУправленческомУчете
	|			И РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоУпр
	|
	|ИЗ
	|	ПартииМатериалов КАК ПартииМатериалов
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаВидаУчета КАК РегистрКорАналитикаВидаУчета
	|	ПО 
	|		ПартииМатериалов.КорАналитикаВидаУчета = РегистрКорАналитикаВидаУчета.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаЗатрат КАК РегистрКорАналитикаУчетаЗатрат
	|	ПО 
	|		ПартииМатериалов.КорАналитикаУчетаЗатрат = РегистрКорАналитикаУчетаЗатрат.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		РегистрСведений.АналитикаУчетаПартий КАК РегистрКорАналитикаУчетаПартий
	|	ПО 
	|		ПартииМатериалов.КорАналитикаУчетаПартий = РегистрКорАналитикаУчетаПартий.Ссылка
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		СпособыОтраженияРасходов КАК СпособыОтраженияРасходов
	|	ПО
	|		РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов = СпособыОтраженияРасходов.СпособОтраженияРасходов
	|
	|СГРУППИРОВАТЬ ПО
	|	ПартииМатериалов.АналитикаВидаУчета,
	|	ПартииМатериалов.АналитикаУчетаЗатрат,
	|	ПартииМатериалов.АналитикаРаспределенияЗатрат,
	|	ПартииМатериалов.АналитикаУчетаПартий,
	|
	|	ПартииМатериалов.КорАналитикаВидаУчета,
	|	ПартииМатериалов.КорАналитикаУчетаЗатрат,
	|	ПартииМатериалов.КорАналитикаРаспределенияЗатрат,
	|	ПартииМатериалов.КорАналитикаУчетаПартий,
	|
	|	ПартииМатериалов.Склад,
	|
	|	РегистрКорАналитикаВидаУчета.СчетУчета,
	|	РегистрКорАналитикаВидаУчета.СчетУчетаНУ,
	|	РегистрКорАналитикаУчетаЗатрат.Затрата,
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования,
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособПогашенияСтоимости,
	|	ЕСТЬNULL(РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СрокПолезногоИспользования, 0),
	|	РегистрКорАналитикаУчетаПартий.НазначениеИспользования.СпособОтраженияРасходов,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь),
	|	ЕСТЬNULL(СпособыОтраженияРасходов.УчитываемыеВНУ, Ложь)
	|
	|УПОРЯДОЧИТЬ ПО
	|	ПартииМатериалов.АналитикаВидаУчета,
	|	ПартииМатериалов.АналитикаУчетаЗатрат,
	|	ПартииМатериалов.АналитикаРаспределенияЗатрат,
	|	ПартииМатериалов.АналитикаУчетаПартий
	|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ТаблицаСписанныхПартий", ТаблицаСписанныхПартий);
			return null;
		}
		// СформироватьЗапросПоСписаннымПартиямРасширеннаяАналитика()
		// Функция формирует запрос по списанным партиям.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаСписанныхПартий - ТаблицаЗначений - Таблица списанных партий
		//
		// Возвращаемое значение:
		//	Запрос - Запрос по остаткам материалов в эксплуатации
		//

		public object СформироватьЗапросПоСписаннымПартиям(/*
	СтруктураШапкиДокумента,
	ТаблицаСписанныхПартий
	*/)
		{
			/*ТекстЗапроса = "
	|ВЫБРАТЬ
	|	Таблица.ОтражатьВУправленческомУчете,
	|	Таблица.ОтражатьВБухгалтерскомУчете,
	|	Таблица.ОтражатьВНалоговомУчете,
	|
	|	//ДляУпрУчета Таблица.Подразделение,
	|	//ДляРеглУчета Таблица.Организация,
	|	//ДляРеглУчета Таблица.ПодразделениеОрганизации,
	|	
	|	Таблица.Склад,
	|	Таблица.Номенклатура,
	|	Таблица.ХарактеристикаНоменклатуры,
	|	Таблица.СерияНоменклатуры,
	|	
	|	Таблица.ФизЛицо,
	|	Таблица.ДокументПередачи,
	|	Таблица.НазначениеИспользования,
	|	
	|	//ДляБухУчета Таблица.КорСчетБУ КАК СчетУчета,
	|	//ДляНалУчета Таблица.КорСчетНУ КАК СчетУчетаНУ,
	|	
	|	//ДляНалУчета Таблица.ПостояннаяРазница,
	|	//ДляНалУчета Таблица.ВременнаяРазница,
	|	Таблица.Стоимость,
	|	Таблица.Количество
	|	
	|ПОМЕСТИТЬ ПартииМатериалов
	|ИЗ
	|	&ТаблицаСписанныхПартий КАК Таблица
	|ГДЕ
	|	Таблица.КодОперацииПартииТоваров = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.ПередачаМатериаловВЭксплуатацию)
    |;
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Способы.Ссылка КАК СпособОтраженияРасходов,
	|	Истина КАК НеУчитываемыеВНУ,
	|	ЕСТЬNULL(СпособыПринимаемыеВНУ.УчитываемыеВНУ, Ложь) КАК УчитываемыеВНУ
	|
	|ПОМЕСТИТЬ СпособыОтраженияРасходов
	|ИЗ
	|	Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ (
	|		ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Способы.Ссылка,
	|			Истина КАК УчитываемыеВНУ
	|		ИЗ
	|			Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК Способы
	|		ГДЕ
	|			Способы.СтатьяЗатрат.ВидРасходовНУ <> ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.НеУчитываемыеВЦеляхНалогообложения)
	|		) КАК СпособыПринимаемыеВНУ
	|	ПО
	|		Способы.Ссылка = СпособыПринимаемыеВНУ.Ссылка
	|	ГДЕ
	|		Способы.СтатьяЗатрат.ВидРасходовНУ = ЗНАЧЕНИЕ(Перечисление.ВидыРасходовНУ.НеУчитываемыеВЦеляхНалогообложения)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	СпособОтраженияРасходов
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	//ДляУпрУчета ПартииМатериалов.Подразделение,
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляРеглУчета ПартииМатериалов.ПодразделениеОрганизации,
	|
	|	//ДляБухУчета ПартииМатериалов.СчетУчета,
	|	//ДляБухУчета ПартииМатериалов.СчетУчета КАК СчетУчетаБУ,
	|	//ДляНалУчета ПартииМатериалов.СчетУчетаНУ,
	|
	|	ПартииМатериалов.Склад,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|
	|	ВЫБОР КОГДА ПартииМатериалов.Номенклатура.ВестиПартионныйУчетПоСериям ТОГДА
	|		ПартииМатериалов.СерияНоменклатуры
	|	ИНАЧЕ
	|		Неопределено
	|	КОНЕЦ КАК СерияНоменклатуры,
	|
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости КАК СпособПогашенияСтоимости,
	|	ЕСТЬNULL(ПартииМатериалов.НазначениеИспользования.СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования,
	|	ПартииМатериалов.НазначениеИспользования.СпособОтраженияРасходов КАК СпособОтраженияРасходов,
	|	ПартииМатериалов.ДокументПередачи,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь) КАК НеУчитываемыеВНУ,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.УчитываемыеВНУ, Ложь) КАК УчитываемыеВНУ,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете
	|	//ДляНалУчета 		И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ПартииМатериалов.ПостояннаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ) КАК ПостояннаяРазница,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете
	|	//ДляНалУчета 		И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|	//ДляНалУчета 	ТОГДА
	|	//ДляНалУчета 		ПартииМатериалов.ВременнаяРазница
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ) КАК ВременнаяРазница,
	|
	|	//ДляНалУчета СУММА(
	|	//ДляНалУчета 	ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете ТОГДА
	|	//ДляНалУчета 		ПартииМатериалов.Стоимость
	|	//ДляНалУчета 	ИНАЧЕ
	|	//ДляНалУчета 		0
	|	//ДляНалУчета 	КОНЕЦ) КАК СтоимостьНал,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВБухгалтерскомУчете
	|			И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Стоимость
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК СтоимостьБух,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВУправленческомУчете
	|			И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Стоимость
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК СтоимостьУпр,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВНалоговомУчете ТОГДА
	|			ПартииМатериалов.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоНал,
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВБухгалтерскомУчете
	|			И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоБух,
	|
	|	СУММА(
	|		ВЫБОР КОГДА ПартииМатериалов.ОтражатьВУправленческомУчете
	|			И ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию)
	|		ТОГДА
	|			ПартииМатериалов.Количество
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ) КАК КоличествоУпр
	|
	|ИЗ
	|	ПартииМатериалов КАК ПартииМатериалов
	|
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|		СпособыОтраженияРасходов КАК СпособыОтраженияРасходов
	|	ПО
	|		ПартииМатериалов.НазначениеИспользования.СпособОтраженияРасходов = СпособыОтраженияРасходов.СпособОтраженияРасходов
	|
	|СГРУППИРОВАТЬ ПО
	|	//ДляУпрУчета ПартииМатериалов.Подразделение,
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляРеглУчета ПартииМатериалов.ПодразделениеОрганизации,
	|	//ДляБухУчета ПартииМатериалов.СчетУчета,
	|	//ДляНалУчета ПартииМатериалов.СчетУчетаНУ,
	|	ПартииМатериалов.Склад,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	ВЫБОР КОГДА ПартииМатериалов.Номенклатура.ВестиПартионныйУчетПоСериям ТОГДА
	|		ПартииМатериалов.СерияНоменклатуры
	|	ИНАЧЕ
	|		Неопределено
	|	КОНЕЦ,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.НазначениеИспользования.СпособПогашенияСтоимости,
	|	ЕСТЬNULL(ПартииМатериалов.НазначениеИспользования.СрокПолезногоИспользования, 0),
	|	ПартииМатериалов.НазначениеИспользования.СпособОтраженияРасходов,
	|	ПартииМатериалов.ДокументПередачи,
	|	ЕСТЬNULL(СпособыОтраженияРасходов.НеУчитываемыеВНУ, Ложь),
	|	ЕСТЬNULL(СпособыОтраженияРасходов.УчитываемыеВНУ, Ложь)
	|
	|УПОРЯДОЧИТЬ ПО
	|	//ДляУпрУчета ПартииМатериалов.Подразделение,
	|	//ДляРеглУчета ПартииМатериалов.Организация,
	|	//ДляРеглУчета ПартииМатериалов.ПодразделениеОрганизации,
	|	//ДляБухУчета ПартииМатериалов.СчетУчета,
	|	//ДляНалУчета ПартииМатериалов.СчетУчетаНУ,
	|	ПартииМатериалов.Склад,
	|	ПартииМатериалов.Номенклатура,
	|	ПартииМатериалов.ХарактеристикаНоменклатуры,
	|	СерияНоменклатуры,
	|	ПартииМатериалов.ФизЛицо,
	|	ПартииМатериалов.НазначениеИспользования,
	|	ПартииМатериалов.ДокументПередачи
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ ПартииМатериалов
	|;
	|/////////////////////////////////////////////////////////////////////////////
	|
	|УНИЧТОЖИТЬ СпособыОтраженияРасходов
	|";*/
			if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
			{
				/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапроса,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете
		);*/
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
			{
				/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапроса,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете
		);*/
			}
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				/*ТекстЗапроса = УправлениеЗатратами.ЗаменитьКомментарииВТекстеЗапроса(
			ТекстЗапроса,
			Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете
		);*/
			}
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ТаблицаСписанныхПартий", ТаблицаСписанныхПартий);
			return null;
		}
		// СформироватьЗапросПоСписаннымПартиям()
		// Процедура рассчитывает сумму погашения стоимости.
		//
		// Параметры:
		//	СтруктураШапкиДокумента - Структура - Реквизиты документа
		//	ТаблицаПогашеннойСтоимости - ТаблицаЗначений - Таблица погашенной стоимости
		//	ТаблицаОшибок - ТаблицаЗначений - Таблица ошибок
		//	СтруктураНаборыЗаписей - Структура - Структура наборов записей регистров
		//

		public void РассчитатьПогашеннуюСтоимостьПриПередачеВЭксплуатацию(/*
	СтруктураШапкиДокумента,
	ТаблицаСписанныхПартий,
	ТаблицаПогашеннойСтоимости,
	ТаблицаОшибок,
	СтруктураНаборыЗаписей
	*/)
		{
			if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
			{
				/*Запрос = СформироватьЗапросПоСписаннымПартиямРасширеннаяАналитика(
			СтруктураШапкиДокумента,
			ТаблицаСписанныхПартий
		);*/
			}
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//Выборка  = РезультатЗапроса.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				/*ПроверкаПройдена = ПроверитьНазначениеИспользования(
			СтруктураШапкиДокумента,
			Выборка,
			ТаблицаОшибок
		);*/
				if(true/*Не ПроверкаПройдена*/)
				{
				}
				//ПогашеннаяСтоимостьУпр = 0;
				//ПогашеннаяСтоимостьБух = 0;
				//ПогашеннаяСтоимостьНал = 0;
				//СтоимостьНеУчитываемыеВНУ = 0;
				//ПогашеннаяПостояннаяРазница = 0;
				//ПогашеннаяВременнаяРазница = 0;
				//ВременнаяРазница = 0;
				//ПостояннаяРазница = 0;
				if(true/*СтруктураШапкиДокумента.ОтражатьВУправленческомУчете*/)
				{
					//ПогашеннаяСтоимостьУпр = Выборка.СтоимостьУпр;
				}
				if(true/*СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете*/)
				{
					//ПогашеннаяСтоимостьБух = Выборка.СтоимостьБух;
				}
				if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
				{
					if(true/*Выборка.СпособПогашенияСтоимости = Перечисления.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию*/)
					{
						//ПогашеннаяСтоимостьНал = Выборка.СтоимостьНал;
						//ПогашеннаяПостояннаяРазница = Выборка.ПостояннаяРазница;
						//ПогашеннаяВременнаяРазница = Выборка.ВременнаяРазница;
						//ПостояннаяРазница = - Выборка.ПостояннаяРазница;
						//ВременнаяРазница = - Выборка.ВременнаяРазница;
					}
					/*// Скорректируем временную разницу.
*/
					if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику
			   И ПогашеннаяСтоимостьБух <> (ПогашеннаяСтоимостьНал + ПогашеннаяПостояннаяРазница + ПогашеннаяВременнаяРазница)*/)
					{
						//ПогашеннаяВременнаяРазница = ПогашеннаяСтоимостьБух - (ПогашеннаяСтоимостьНал + ПогашеннаяПостояннаяРазница);
					}
				}
				if(true/*Не СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику
		   И ПостояннаяРазница = 0
		   И ВременнаяРазница = 0
		   И ПогашеннаяСтоимостьУпр = 0
		   И ПогашеннаяСтоимостьБух = 0
		   И ПогашеннаяСтоимостьНал = 0
		   И СтоимостьНеУчитываемыеВНУ = 0
		   И ПогашеннаяПостояннаяРазница = 0
		   И ПогашеннаяВременнаяРазница = 0*/)
				{
				}
				/*// Запомним погашенную стоимость в таблице значений.
*/
				//НоваяСтрока = ТаблицаПогашеннойСтоимости.Добавить();
				//ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
				//НоваяСтрока.СтоимостьУпр = ПогашеннаяСтоимостьУпр;
				//НоваяСтрока.СтоимостьБух = ПогашеннаяСтоимостьБух;
				if(true/*Выборка.СпособПогашенияСтоимости <> Перечисления.СпособыПогашенияСтоимости.ПогашатьСтоимостьПриПередачеВЭксплуатацию
		   И Выборка.НеУчитываемыеВНУ*/)
				{
					//НоваяСтрока.СтоимостьНал = 0;
					//НоваяСтрока.ПостояннаяРазница = ПогашеннаяПостояннаяРазница + ПогашеннаяСтоимостьНал;
					//НоваяСтрока.ВременнаяРазница = ПогашеннаяВременнаяРазница;
				}
				if(true/*СтруктураШапкиДокумента.ИспользоватьРасширеннуюАналитику*/)
				{
					/*РасширеннаяАналитикаУчета.ДвижениеПоРегиструУчетЗатратПередачаВЭксплуатацию(
				СтруктураШапкиДокумента,
				Выборка,
				СтруктураНаборыЗаписей
			);*/
				}
			}
			/*;
	
	РаспределитьПогашеннуюСтоимостьПоСпособамОтраженияРасходов(
		СтруктураШапкиДокумента,
		ТаблицаПогашеннойСтоимости,
		ТаблицаОшибок,
		СтруктураНаборыЗаписей
	);*/
		}
		// РассчитатьПогашеннуюСтоимостьПриПередачеВЭксплуатацию()
		// Процедура дополняет структуру шапки документа новыми значениями.
		//
		// Параметры:
		//  СтруктураШапкиДокумента – Структура - Реквизиты документа "Расчет себестоимости"
		//

		public void ДополнитьСтруктуруШапкиДокументаПогашениеСтоимости(/*
	СтруктураШапкиДокумента
	*/)
		{
			//СуффиксыИмениРегистра = Новый Соответствие;
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете, "");
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете, "БухгалтерскийУчет");
			//СуффиксыИмениРегистра.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете, "НалоговыйУчет");
			//СтруктураШапкиДокумента.Вставить("СуффиксыИмениРегистра", СуффиксыИмениРегистра);
			//СоответствиеВидУчета = Новый Соответствие;
			//СоответствиеВидУчета.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете, "ОтражатьВУправленческомУчете");
			//СоответствиеВидУчета.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВБухгалтерскомУчете, "ОтражатьВБухгалтерскомУчете");
			//СоответствиеВидУчета.Вставить(Перечисления.ВидыОтраженияВУчете.ОтражатьВНалоговомУчете, "ОтражатьВНалоговомУчете");
			//СтруктураШапкиДокумента.Вставить("СоответствиеВидУчета", СоответствиеВидУчета);
			/*ИспользоватьРасширеннуюАналитику = глЗначениеПеременной("ИспользоватьРасширеннуюАналитикуУчетаНоменклатурыИЗатрат") 
		И (глЗначениеПеременной("ДатаНачалаИспользованияРасширеннойАналитикиУчетаНоменклатурыИЗатрат") <= СтруктураШапкиДокумента.ПериодРегистрации);*/
			//СтруктураШапкиДокумента.Вставить("ИспользоватьРасширеннуюАналитику", ИспользоватьРасширеннуюАналитику);
			//ПоддержкаПБУ18 = Ложь;
			if(true/*СтруктураШапкиДокумента.ОтражатьВНалоговомУчете*/)
			{
				//ПараметрыУчетнойПолитикиРегл = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(СтруктураШапкиДокумента.Дата, СтруктураШапкиДокумента.Организация, Ложь);
				if(true/*ЗначениеЗаполнено(ПараметрыУчетнойПолитикиРегл)*/)
				{
					//ПоддержкаПБУ18 = ПараметрыУчетнойПолитикиРегл.ПоддержкаПБУ18;
				}
			}
			//СтруктураШапкиДокумента.Вставить("ПоддержкаПБУ18", ПоддержкаПБУ18);
		}
		// ДополнитьСтруктуруШапкиДокументаПогашениеСтоимости()
		// Функция подготавливает таблицу списанных партий для погашения стоимости
		//
		// Параметры:
		//  ТаблицаСписанныхПартий – таблица значений - табилца списанных партий по документу
		//

		public object ПодготовитьТаблицуСписанныхПартий(/*ТаблицаСписанныхПартий*/)
		{
			if(true/*ТаблицаСписанныхПартий.Колонки.Найти("Движение") <> Неопределено*/)
			{
				/*//Вызывается из партионного учета
*/
				//ПодготовленнаяТаблицаСписанныхПартий = ТаблицаСписанныхПартий.Скопировать();
			}
			return null;
		}
		// Процедура выполняет погашение стоимости материалов при передаче в эксплуатацию.
		//
		// Параметры:
		//	СтруктураПараметров - Структура - Параметры
		//	ТаблицаСписанныхПартий - ТаблицаЗначений - Таблица списанных партий
		//

		public void ПогашениеСтоимостиПриПередачеВЭксплуатацию(/*
	СтруктураПараметров,
	ТаблицаСписанныхПартий
	*/)
		{
			if(true/*ТаблицаСписанныхПартий.Количество() = 0*/)
			{
			}
			//СтруктураШапкиДокумента = Новый Структура;
			//СтруктураШапкиДокумента.Вставить("Ссылка", СтруктураПараметров.Регистратор);
			//СтруктураШапкиДокумента.Вставить("Дата", СтруктураПараметров.Период);
			//СтруктураШапкиДокумента.Вставить("ПериодРегистрации", СтруктураПараметров.Период);
			//СтруктураШапкиДокумента.Вставить("НачДата", НачалоМесяца(СтруктураШапкиДокумента.ПериодРегистрации));
			//СтруктураШапкиДокумента.Вставить("КонДата", КонецМесяца(СтруктураШапкиДокумента.ПериодРегистрации));
			//СтруктураШапкиДокумента.Вставить("Организация", СтруктураПараметров.Организация);
			//СтруктураШапкиДокумента.Вставить("ОтражатьВУправленческомУчете", СтруктураПараметров.ЕстьСтрокиОтражатьВУправленческомУчете);
			//СтруктураШапкиДокумента.Вставить("ОтражатьВБухгалтерскомУчете", СтруктураПараметров.ЕстьСтрокиОтражатьВБухгалтерскомУчете);
			/*ОтражатьВНалоговомУчетеУСН = НалоговыйУчетУСН.ПрименениеУСН(СтруктураШапкиДокумента.Организация, СтруктураШапкиДокумента.Дата)
		И СтруктураПараметров.ЕстьСтрокиОтражатьВНалоговомУчете
		И Не НалоговыйУчетУСН.ПрименениеУСНДоходы(СтруктураШапкиДокумента.Организация, СтруктураШапкиДокумента.Дата);*/
			if(true/*ОтражатьВНалоговомУчетеУСН*/)
			{
				//СтруктураШапкиДокумента.Вставить("ОтражатьВНалоговомУчете", Ложь);
			}
			//ДополнитьСтруктуруШапкиДокументаПогашениеСтоимости(СтруктураШапкиДокумента);
			if(true/*СтруктураПараметров.Свойство("НаборыЗаписейРегистров")*/)
			{
				//СтруктураНаборыЗаписей = СтруктураПараметров.НаборыЗаписейРегистров;
			}
			//ТаблицаПогашеннойСтоимости = СформироватьТаблицуПогашеннойСтоимости();
			//ТаблицаОшибок = УправлениеЗатратами.СформироватьТаблицуОшибок();
			/*РассчитатьПогашеннуюСтоимостьПриПередачеВЭксплуатацию(
		СтруктураШапкиДокумента,
		ТаблицаСписанныхПартий,
		ТаблицаПогашеннойСтоимости,
		ТаблицаОшибок,
		СтруктураНаборыЗаписей
	);*/
			//Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(СтруктураШапкиДокумента.Ссылка);
			/*УправлениеЗатратами.ВывестиСообщенияОбОшибках(
		СтруктураШапкиДокумента,
		ТаблицаОшибок,
		Заголовок
	);*/
			//СтруктураПараметров.Вставить("НаборыЗаписейРегистров", СтруктураНаборыЗаписей);
		}
		// ПогашениеСтоимостиПриПередачеВЭксплуатацию()
	}
}
